-
Notifications
You must be signed in to change notification settings - Fork 8
Goals and Ideals
Galah aims above all else to be language agnostic, scalable, secure, easty to use, and simple. See the following sections to see what is meant by each of those goals.
Galah should not care what student's submissions are, they could be English essays and Galah should diligently test them with whatever the teacher provided (perhaps some simple spell checking scripts). No assumptions can be made about what technologies the institution that Galah is deployed at is using.
Galah should be able to scale to any load provided more machines are made available. The ideal scenario is that if one machine can process 1000 students assignments, two machines should be able to process 2000, etc.
Student code should not be able to bring down Galah under any circumstances. Also, typical permissions (students can't see eachothers code, teachers only have certain powers, etc.) should be very robust and easily configurable.
This is hands down one of the hardest goals to satisfy. It can be assumed that teacher and admin users are very competent Computer Scientists, however, no such assumptions may be made about student users. Therefore the interface for students must be very simple. The goal is to be able to tell a student "submit your assignment to Galah, this is the URL," and have the student be capable of taking care of the rest without question.
Along with being easy to use for end users, it should also be easy to set up and maintain. Therefore ample documentation should be available for system administrators.
The current vision for Galah is sure to go stale at some point in the future. New features, reworkings of the infrastructure, and of course tons of bug fixes will certainly make their way onto the agenda. Galah must be very flexible and allow for these things, therefore good software design principles should be kept in mind at all times.
Because of Galah's nature as a large system simplicity isn't really something that's going to happen a lot of the time. The principles eloquently laid out in The Zen of Python, namely that "Complex is better than complicated", should shine throughout Galah's source code however.
General
- Home
- User Guide (for admins and teachers)
- Comparison to Similar Software
- Goals and Ideals
- Credits and Contributers
Administration
Development