The Tutor Management System (short TMS) aims to be a tool used at universities (in Germany). It can be used to track the requirements which a student has to fulfill to be allowed to attend 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 documentation.
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.
- NestJS - Backend framework used.
- Formik - Used to clean up the React mess in forms.
- axios - Used to make the REST calls against the backend.
- 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.
- pnpm - Used package manager.
- ESLint - Used to ensure code quality.
- Prettier - Used to ensure a unified code style.
- GitHub Actions - Used for CI.
- Node - Runs the production server aswell as the development servers.
- tsx - 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.