GradeSync is a backend microservice that integrates with assessment platforms to fetch student grades and facilitate management of post-semester submissions. GradeSync enables students to submit coursework after the term ends and view their updated grades on the GradeView dashboard. GradeSync automates gradebook updates, eliminating the need for manual instructor intervention.
- Download the Docker Desktop application
- In the terminal, run
docker --version
to ensure Docker is correctly installed. - In
/api
, create a.env
file with theGRADESCOPE_EMAIL
,GRADESCOPE_PASSWORD
fields you use to log into the CS10 Fall 2024 test GradeScope. Additionally, include thePL_API_TOKEN
field you use to log into PraireLearn and includeSERVICE_ACCOUNT_CREDENTIALS
with the JSON content for a Google Service Account obtained through GCP. This is how the application is authenticated automatically. - Set the following constants
- CS_10_GS_COURSE_ID: The GS course ID is the final component of the URL on the GradeScope course homepage:
https://www.gradescope.com/courses/[COURSE_ID]
- CS_10_PL_COURSE_ID The GS course ID is the final component of the URL on the GradeScope course homepage:
https://us.prairielearn.com/pl/course_instance/[COURSE_ID]
- Open the Docker desktop application.
- In the terminal, navigate to the
/gradesync
directory of this project, which is the root directory. - Build the Docker image using
docker-compose build
. - Start the application with
docker-compose up web
. - Confirm the application is running by opening http://localhost:8000/ on a browser.
- Test endpoints with a tool like ThunderClient or Postman.
- Go to VSCode extensions, and add "ThunderClient" to your extensions.
- Click "New Request" to test the API endpoints.
- Also, create unit test cases in
api/tests/test_gradescope_unit.py
and integration tests inapi/tests/test_integration_tests.py
.
- When you are finished, press CTRL+C to stop the server and run
docker-compose down
to stop the container.
- Open the Docker desktop application.
- In the terminal, navigate to the
/gradesync
directory of this project, which is the root directory. - If you do not have an image built, build the Docker image using
docker-compose build
. - Start the tests with
docker-compose up tests
. - When the tests are done running, press CTRL+C to stop the server and run
docker-compose down
to stop the container.