-
- Structure Project
-
- Setup Docker
-
- Setup MongoDB, create schema, create Database[quizdb] and collections [admin, quiz]
-
- Health Endpoint
/health
- Health Endpoint
-
- Add quiz to database
/api/v1/quiz
- Add quiz to database
-
- Get quiz by ID
/api/v1/quiz/64aafb154de57c5784084e5d
- Get quiz by ID
-
- Create Admin Endpoint
/api/v1/admin
- Create Admin Endpoint
-
- WhoAMi endpoint
/api/v1/admin/me
- WhoAMi endpoint
-
- Get all quiz
/api/v1/quiz?limit=10
default limit 10 -> this endpoint will be called on home page/ quiz pages it will list all available quizzes
- Get all quiz
-
- Search by category/theme of quiz
-
- Search by quiz name
-
- Default admin account creation.
-
- Add authentication for admin so that only authorised person can add quiz.
-
- Authentication endpoint
/api/v1/auth/admin
. -> Send It as formdata {username : "[email protected]","password" : "123"}
- Authentication endpoint
-
- Use JWT to implement cookie based login
-
- Only admin can Delete quiz
-
- Only admin can add a quiz
-
- Only admin can add another admin
-
- Activate or deactivate Quiz [only admin]
-
- Think about a secure way to load answer of the quizzes, Option 1 -> Server Side rendering, we will make api call on the frontend using SSR so that api call won't be visible to anyone.