The Tutor Management System (short TMS) aims to be a tool used at universitites (in Germany). It can be used to track the requirements which a student has to fulfill to be allowed to write the exam. It can (among other things) track the points gained by the students in their homeworks, how often a student attended the tutorial and how often a student presented a solution.
You can find more information about how to set up your development environment in the development environment guide.
For more information on how to deploy this tool please read the installation guide in the project wiki.
If you want to update your existing deployment to a new version please refer to the update guide.
Here are the most important libraries listed which are used in any part of the project.
- TypeScript - Programming language.
- React - Frontend framework.
- Material-UI - Frontend component library.
- Formik - Used to clean up the React mess in forms.
- axios - Used to make the REST calls against the backend.
- NestJS - Backend framework used.
- mongoose - Used to connect to the MongoDB.
- typegoose - Makes working with mongoose documents & typescript easier.
The following tools are used in the maintaining & deploying processes.
- ESLint - Used to ensure code quality.
- GitHub Actions - Used for CI.
- Node - Runs the production server aswell as the development servers.
- ts-node - Used to run
.ts
scripts directly on NodeJS without compiling them. - Docker - Used to build the docker images.
Please read CONTRIBUTING.md for details on how to contribute to this project.
This project uses SemVer for versioning. For the versions available, see the tags on this repository.