/course-management-system

FYP project. Course management system.

Primary LanguageTypeScript

This project was solo implemented by Ahmad Shaaban.

This is my FYP. It is designed to help students manage their courses in the best way possible.

How It Works:

  1. It retrieves courses using Excel or scraping.
  2. It fetches the courses available in the course offering.
  3. It compares results and provides the remaining courses for the student (comparison is done with taken, available, prerequisite courses, and with some conditions for certain courses depending on the number of finished credits).
  4. It generates a schedule of courses to take.
  5. At each step, the data is saved in local storage.

Future Improvements/Work:

  1. The course offering API needs more checking on when it should work and stop. When the API is called, it will still run even if the student exits the page, which can be an advantage and a disadvantage at the same time.
  2. Maybe create a way to call some function and save data on the server for faster results.
  3. Implement a profile system so students can save their data, and teachers can monitor it.
  4. Implement a chatbot responsive with the data we have and maybe can interact with it.
  5. Improve some validations and checking.
  6. Finish the plan.
  7. Q/A system can be implemented to help students and teachers.
  8. Implement the code with the improvements to create the schedule.
  9. Clean up the codes.

What We Have:

  1. Database design on Eraser.
  2. Library for a plan with some codes for it. Either use the elk or use manual implementation using positions x and y.
  3. Code and improvement ideas for the schedule available.

Code for Schedule:

  1. Get remaining courses.
  2. Compare them and put them in a list where the most important are at the top.
  3. Priority for the top depends on the number of Chosen, Major, Common, or prerequisite courses, Least Options (CRNs), Least Days.

Last Update: 29 Dec. 2023

For any questions, don't hesitate to ask. If you are trying to do something GOOD LUCK you will need it a lot XD.

Contact: Gmail: shaabanahmad02@gmail.com