A learning management system like Quercus, but better.
- Current systems like Quercus have usability issues to both the educators and students, such as poor grade tracking, limited engagement tools, and complicated managing of assignments. Often this leads to an improper use of functions and more frustrations.
- Our project aims to deliver an intuitive and comprehensive system for efficient course management, student collaboration, and seamless communication.
- Core functionalities include course creation and management, assignment submissions with deadline tracking, accurate grade tracking, personal study notes for students, and tools to assist educators and teaching assistants in their administrative tasks.
Git and Nodejs are required for this project.
Clone the repo using git:
git clone https://github.com/UTSC-CSCC01-Software-Engineering-I/term-group-project-c01w25-project-lms.git
Navigate to /frontend
cd frontend
Install npm
npm install
Start the development mode of frontend
npm run dev
Build the frontend for production (compile)
npm run build
Start the production mode of frontend
npm start
Navigate to /server
cd server
Install npm
npm install
Start the backend application.
npm start
You are ready to go!
The project follows the Git Flow model designs.
- main branch contains the production-ready codes, containing the latest stable release. All the well-tested release branches should be merged into the main branch.
- develop branch is a staging area for the next release, containing all the feature branches that are going to be merged. All the well-tested Feature #i branches should be merged into the develop branch.
- feature #i branch is for adding individual new features. After individual testing of new features, they should be merged into develop branch for further testing. For tracking purposes, we will not delete the branches after merging.
- release branch is created after the develop branch is ready for a new release. It allows final adjustments and bug fixes before merging into the main branch.
- hotifx branch is created to address a critical bug in the main branch. It should be merged back into both main and develop.
New issues in the tab Issues on GitHub can be used to report any bugs in the releases.
Pull Requests can be created in the tab Pull requests on GitHub. All the merges must be done through pull requests.
Feel free to do pull requests and contribute to the project!
This is a course project, code is not for commercial use.