Website: https://team8-comp4350.azurewebsites.net/
- Kien Mai | [email protected] | 7876083
- Quang Anh Le | [email protected] | 7900715
- Jack Nguyen | [email protected]) | 7920902
- Arshdeep Singh | [email protected] | 7917921
Our GitHub: https://github.com/maingockien01/comp4350-team8
Our project aims to transform the way students handle their academic schedules and plan their degree path effectively. This comprehensive web application provides an easy-to-use platform featuring three main components: "View Courses," "My Calendar," and "Roadmap." The "View Courses" page allows students to explore and seamlessly add available courses for the term to their personalized schedules. Once courses are added, students can access the "My Calendar" page, where their timetable is visually presented with distinctive colors or icons for quick identification. Additionally, the "Roadmap" page empowers students to strategically plan their entire degree, promoting a well-thought-out academic journey. By serving as a centralized hub for course management, timetable visualization, and degree planning, "ScheduleMaster" aims to enhance the student experience, fostering improved organization and time management throughout their academic pursuits.
The vision of "ScheduleMaster" is to empower students through a holistic and user-centric approach to managing their academic schedules. We envision a platform where students can effortlessly explore and add courses, intuitively visualize their schedules, and strategically plan their degree trajectory. "ScheduleMaster" aims to be the preferred tool for students, promoting efficiency, organization, and a proactive approach to academic planning. Through user-friendly interfaces and innovative visualizations, our project seeks to simplify students' lives, ensuring they make the most of their educational experience.
4. View/Create Roadmap: User can view the roadmap for their degree and create their own customized roadmap.
5. Capacity: The web application can maintain a response time within 300 milliseconds under normal and peak load conditions using cache.
-
Programming language: TypeScript for both backend and frontend
-
Other languages: HTML, SCSS,...
-
Frontend: ReactJS
-
Backend: NestJS
-
Database: MySQL
-
API: Restful
-
Infrastructure platform: MsAzure (or AWS)
-
CI/CD: GitHub Action
-
VCS: Git (GitHub) with Feature Branch Workflow
- As a new user I want to create a new account to save my information.
- As a user, I want to sign into my account so that I can manage my courses.
- As a logged-in user, I want to change my account information so that I can have a profile that is up to date.
- As an user, I want to see which courses are available during a specific term so I can know which course can I add.
- As an user, I want to add/drop courses so that I can view them in my calendar.
- As an user, I want to see a course full information when I clicked on a specific course.
- As an user, I want to view my calendar so that I know my class time.
- As an user, I want to export my timetable to my Google Calendar.
- As a user, I want to view a roadmap of my degree so that I know which classes I should take.
- As a user, I want to create my own customized roadmap.
- As a user, I want to always receive responses from the web application within 300 milliseconds so that I do not need to wait for too long.
Here, we follow the code style from Google for Typescript.