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)