make sure you have the latest version of the code and filled in the .env file.
yarn install
yarn start
variables in the .env file:
MONGODB_URL JWT_ACCESS_TOKEN JWT_REFRESH_TOKEN SPHERE_PROBLEMS_URL SPHERE_SUBMISSIONS_URL SPHERE_PROBLEMS_TOKEN
The API is hosted at https://sphere-engine-cometlabs.herokuapp.com
- Signup
- Login
- Logout
- Refresh Auth Token
- List All Questions
- List Uploaded Questions
- Add Questions
- Edit Questions
- Delete Questions
- Add Test Cases
- Home Page
- List All Test Cases
- Edit Test Cases
- User Submisions
- List All Submissions
- List Submissions By Users
- List Submissions for Questions
- List Self Submissions
Make sure you are using correct Bearer Token for all the requests.
route - /signup
Signup takes a POST request with four parameters name, email, password, role and gives you email, accessToken, refreshToken as response.
Request:
- POST
Parameters:
- name
- password
- role
route - /login
Login takes a POST request with two parameters email, password and gives you email, accessToken, refreshToken as response
Request:
- POST
Parameters:
- password
route - /logout
Login takes a POST request with refreshToken
Request:
- POST
Parameters:
- refreshToken
route - /refresh
Refresh takes a POST request with refreshToken and gives you accessToken, refreshToken as response
Request:
- POST
Parameters:
- refreshToken
route - /
Greets the user with the name and role
route - /displayQuestions
displayQuestions takes a GET request and gives you all questions in Sphere Engine as response including uploaded and auto generated
Request:
- GET
Parameters:
- NONE
route - /displayQuestions
displayQuestions takes a GET request and gives you all questions uploaded by admins
Request:
- GET
Parameters:
- NONE
route - /addQuestion
addQuestion takes a POST request with parameters name, description
Request:
- POST
Parameters:
- name
- description
- masterJudgeID
route - /updateQuestion
updateQuestion takes a POST request with parameters new name, new description, id of the question
Request:
- POST
Parameters:
- id
- name
- description
route - /deleteQuestion
deleteQuestion takes a POST request with id of the question
Request:
- POST
Parameters:
- id
route - /addTestCase
addTestCase takes a POST request with id of the question, input, output, judgeId as the input
Request:
- POST
Parameters:
- id
- input
- output
- judgeId
route - /updateTestCase
updateTestCase takes a POST request with id of the question, input, output, number of test case as the input
Request:
- POST
Parameters:
- id
- input
- output
- number (test case number)
route - /listTestCase
listTestCase takes a POST request with id of the question
Request:
- POST
Parameters:
- id
route - /submission
submission takes a POST request with id of the question, source, compilerId as input
Request:
- POST
Parameters:
- problemId
- source
- compilerId
route - /listAllSubmissions
listAllSubmissions takes a GET request
Request:
- GET
Parameters:
- NONE
route - /listUserSubmissions
listUserSubmissions takes a POST request with email of the user
Request:
- POST
Parameters:
route - /listQuestionSubmissions
listQuestionSubmissions takes a POST request with id of the question
Request:
- POST
Parameters:
- problemId
route - /listSelfSubmissions
listSelfSubmissions takes a GET request with signed in user
Request:
- GET
Parameters:
- NONE