Application URL - exam105/backend GitHub Wiki
Super User Backend Path
- POST /superuser/login
- POST /superuser/operator
- GET /superuser/operators
- POST /superuser/operator/:id
- DELETE /superuser/operator/:id
Metadata Backend Path
- GET /dashboard/de/test
- GET /dashboard/de/metadata (Get metadata by user)
- POST /dashboard/de/metadata/:id (Update metadata by user)
- DELETE /dashboard/de/metadata/:id (Delete metadata by user - This function will only delete metadata but the questions and relevant images will remain in the DB)
MCQs Question Backend Path
- POST /dashboard/de/questions (Save questions to DB)
- GET /dashboard/de/questions/:metaid (Get the list of questions based on Metadata ID)
- GET /dashboard/de/question/:id (Get single question)
- POST /dashboard/de/question/:id (Update single question)
- DEL /dashboard/de/question/:id (questionID)/meta/:metaid(metadata ID) (Delete single question document from Question collection and also entry in the Metadata collection)
- PUT /dashboard/de/question/meta/:metaid (Add single question to the existing paper)
Theory Question Backend Path
- POST /dashboard/de/questions/theory (Save questions to DB)
- GET /dashboard/de/question/theory/:id (Get single theory question by questionID)
- GET /dashboard/de/questions/theory/:metaid (Get the list of questions based on Metadata ID)
- POST /dashboard/de/question/theory/:id (Update single theory question by using questionID)
- PUT /dashboard/de/question/theory/meta/:metaid (Add single question to the existing paper)
- DEL /dashboard/de/question/theory/:id (questionID)/meta/:metaid(metadata ID) (Delete single question document from Question collection and also entry in the Metadata collection)
Search Backend Path (JWT-free)
- POST /dashboard/de/search/date (Search based on Subject, Date, System, Board)
- GET /exam/question/:id (Get single mcq question by questionID)
- GET /exam/questions/:id (Get the list of mcq questions based on Metadata ID)
- GET /exam/questions/theory:id (Get the list of theory questions based on Metadata ID)
Postman sample object for searching papers by daterange:
{
"subject": "Math",
"system": "GCSE",
"board": "Edexcel",
"from_date": "2010-02-01T00:00:00.000Z",
"to_date": "2022-02-01T00:00:00.000Z"
}
Postman sample object for searching papers by date:
{
"subject": "Math",
"system": "GCSE",
"board": "Edexcel",
"date": "2010-02-01T00:00:00.000Z"
}
Images Backend Path
- PUT /exam/question/uploadimage [body: file{file type}, subject{string type}] (this query adds an image to S3)
- DELETE /exam/question/deleteimage/:subject/:imagename (this query deletes an image from S3)
Homepage JSON Path
- GET /exam/homepage/links (gets the json data to populate cards on the Home page of public app)