In this program, I created a mini moodle application running on command line. The idea is that there are three roles: admin (class), teacher (class), and student(class). Each role can login to the system with his/her credentials (login, password). All the data is contained in separate json files - courses.json, teachers.json, students.json. (I already created some teacher, student accounts and courses for comfortable checking and debugging of the program)
Admin responsibilities are:
- Create/update/delete teacher accounts.
- Create/update/delete student accounts.
- Create/update/delete courses. Attach students and teachers to the courses. Create free enroll courses with limited number of places.
Teacher responsibilities are:
- See subjects he/she lead.
- Mark student
- Add or Delete student to/from a course
- Rate student (can be done only once)
Student responsibilities are:
- Enroll/Unenroll to/from free courses.
- See marks (see all marks, see specific subject mark)
- See teachers
- See free courses to enroll
- Rate teacher (can be done only once)