- This project adopts the express.js framework and view engine pug.
- The persistence is implemented through the database, maybe firebase.
- Quiz test system, with user management and quiz management
- In sprint 1, the quiz system could offer new student signup, login, quiz page with mock data
- In sprint 2, there are multiple updates to the features of the project. We also provide multiple regression tests for our UI, modules and routers.
- In sprint 3, more features are added. We also provide more tests for out built components and documentations for architecture and alt-architecture
Start:
node .\serve.js
Home: http://localhost:3000/
Quizs: http://localhost:3000/quiz
Quiz: http://localhost:3000/quiz/GK
Signup: http://localhost:3000/users/create
Login: http://localhost:3000/users/login
User Dashboard: http://localhost:3000/users/dash-board/:id (id is the parameter, use id = 1 for demo)
User Admin: http://localhost:3000/users/admin/:id (id is the parameter, use id = 1 for demo)
Add quiz item http://localhost:3000/quizitem/quiz/:name/add-quiz-item (name is the parameter)
Quiz Manage Admin http://localhost:3000/quiz/:name/quiz-admin (name is parameter)
- Replace ':name' with GK to get perfect view View GK Quiz
Quiz: Quiz Router
QuizItem: QuizItem Router
User: User Router
User: User
QuizBank QuizBank
The main branch is dev
api/
doc/
modules/
public/
routers/
test/
views/
serve.js
README.md
The api folder is for fire store configuration
The doc folder is for md documents
The modules directory is for modules, such as quizbank
The public directory is for static files
The routers diectory is to define router
The test folder is to test files
The view folder is for UI files, currently they are pug files
serve.js the entrance file for node.js
README file is the introduction for the project
Test file names reflect the component that it's made for. Please read the doc below for instruction and available tests
Nodejs Code style External Resources
Code review is performed in all PR with codes about to be merged to dev branch. Each team member needs to run regression tests to make sure their codes will not break the main branch. The reviewer will then checkout the PR to make sure everything is working as expected and use the code review checklist as guideline. All review comments are posted in the discussion of our PRs.
Code Review Standard External Resources
Each line/entry of your attributions section should consist of three parts: (1) the source (such as web page URL, individual name, or bibliographic reference), (2) the nature of the contribution to your submission, and (3) any additional information (such as how the collaboration worked, or whether your collaborator is a classmate or student)
-
Attribution 1
- Express home page
- The nature of the contribution, it helps to use express to build a server using view engine
- N/A
-
Attribution 2
- Firebase Docs
- It helped in connecting webapp to firebase firestore.
- Some parts of methods or funtions are referenced from stackoverflow & W3school.
-
Attribution 3
- Pug Docs
- Templating framework to create UI of the webapp
- Learned some of the syntax for PUG from stackoverflow and PUG Docs
-
Attribution 4
- Various lectures about coding format and principles
- Inspiration to create code review checklist