Aalto Grades is a grade management system for storing the grades (or points) of students to course parts such as an exam, exercises, or a project, and optionally individual assigned tasks which make up these course parts, such as a particular essay or exercise. The grades of these tasks can then be used to calculate the grades of the course parts as well as students' final grades of the course. These final grades can then be exported to an external system for tracking course completion.
Aalto Grades contains integration with A+, allowing results to be directly imported to Aalto Grades through the A+ API.
The project uses Node.js as its runtime environment and npm to manage dependencies, which you will need to install.
You may also wish to run the system using Docker, in which case you must also install Docker itself and Docker Compose.
The README files of this repository primarily contain instructions for running Aalto Grades and its tests. For more documentation, please see the wiki.
You can run the development build of the whole Aalto Grades system, including the frontend, backend, and database, by running Docker Compose at the root of the project:
docker compose up
Afterwards, the website will be accessible at http://localhost:8080 and the API documentation at http://localhost:8080/api-docs.
When developing or demonstrating the system, you may use one of the pre-made user accounts for this purpose.
User | Password | |
---|---|---|
Admin account | [email protected] |
password |
Teacher account | [email protected] |
password |
Assistant account | [email protected] |
password |
Student account | [email protected] |
password |
When asked for an MFA code in the development environment, the server will accept any input without validation.
For instructions on running tests or individual parts of the system, see the
README file of the corresponding directory, such as client/README.md
and
server/README.md
.
- Create a new feature or fix branch from the
dev
branch. - Do your additions and changes.
- Create tests for new functionality and check that all tests pass.
- Run linters.
- Check that the changes follow the code style, design guidelines, and licensing guidelines.
- Update documentation and API definition as needed.
- When developing the client, update (at minimum) the translation keys of all
languages using
npm run trans-parse
as described inclient/README.md
. - Create a pull request to the
dev
branch. - Check that all requirements pass.
- Request someone to review your PR.
Aalto Grades is free software released under the Expat (or "MIT") License.