Skip to content

This is a group project of 7 people. A course registration system for the Computer Engineering department in Marmara University is thoroughly designed and implemented by following agile methodology.

License

Notifications You must be signed in to change notification settings

ItsYusufDemir/course-registration-system

Repository files navigation

Course Registration System

Overview

This is a group project of 7 people. A course registration system for the Computer Engineering department in Marmara University is thoroughly designed and implemented by following iterative development. The project is implemented in three iterations and each iteration takes three weeks. In the first iteration, the project is implemented in java. Later, more requirements are requested for the course registration system and new features are added in the second iteration. Lastly, in the third iteration, we are requested to write the whole project in python which requires an extensive conversion from java to python with also a few new features. This system is currently using command line interface for the UI.

Each iteration is followed by requirement analysis, design, implementation and testing. For the first two part, we extensively used Miro to work together while drawing sequence diagrams and UML class diagram. For simplicity, no real database is used in this project. Instead, json files are used to hold the data. A class called DatabaseManager that we created acts like a database engine by reading and modifying json files. Object oriented programming is highly achieved in this project with many classes.

About the Project

There are three roles in the system: student, advisor and admin. Each have their own responsibilities and own command line interface. System starts with a login page, all users must login to the system by username and password.

Student

Students basically can add and delete courses for registration, they can see their timetable and send selected courses to her/his advisor for approval.

Selected courses

my courses


Adding new course

Add.Course.mp4

Courses are sent for approval

Sended

Advisor

Advisors can see the selected courses of all of her/his students. They can see the timetable and possible conflicts of courses. They are able to approve or reject courses of students. After the approval/rejection, they can finalize the registration of students.

After the login process, advisor sees their notifications. When a approval request comes from a student, a notification is sent to her/his advisor.

notification

Then advisor selects a student and see her/his courses. Advisor approves/rejects courses.

advisor panel

When the approval is done, advisor finalize the registration. student recieves a notification about it.

Admin

Admin is responsible for changing constraints of the system: registration week enabled, number of courses student select per term, minimum required ECTS credit to select graduate project course and add-drop week enabled. They can also add or remove course to the system.

consraints

About

This is a group project of 7 people. A course registration system for the Computer Engineering department in Marmara University is thoroughly designed and implemented by following agile methodology.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published