# 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 ;
...
};
```