# project ## team meetings - schema desing and system desing - project structure , tools - task devide and assign to team members ## cyclic meeting > meetings every 3/4 days discussing the feature progrss of each team member , code review and refactoring ## folder structure - frontend (vue3/react) - backend (express) ## tasks ### person 1 > login register + profile page user needs to register as a strudent or teacher , team member will desing api and build frontend for this features ### person 2 > create quiz + take quiz teachers will need to create quiz and student will have to take the quiz , team member will work on these features ### person 3 > list quiz - list quiz as a student , clicking on list item will take user to a page that will show details if the user has taken the quiz , if he wants to retake the quiz and pervious quiz results - - list quiz as a teacher , clicking will take user to a page ans show the results of the quiz ### person 4 > admin - list all teachers and students - enable disable user (teacher / student ) profiles ## frontend pages - login + register - profile page - create quiz page [ for teachers ] - take quiz [for stutends ] - list quiz for students - list quiz for teacher - admin list user page ## backend routes > todo ## DB Schemas ``` /* type script type definition */ type User { id : string ; name : string ; role : 'student' | 'teacher' | 'admin' ; createdAt : string ; updateAt : string ; }; type Quiz { ... }; type QuizItem { ... }; type Result { id : string ; quizId : string ; takeAt : string | datetime ; createBy : { // teacher info id : string ; name : string ; }; takenBy : { // student info id : string ; name : string ; }; totalQuizMarks : number ; marks : number ; ... }; ```