Tarpaulin is a RESTful API that stores and provides data for a learning management system similar to Canvas. For authorization, the API uses the JSON Web Token standard. The API has a lower rate limit that is on a per-IP address basis if requests are made without a valid authentication token and a higher rate limit that is on a per-user basis if requests are made with a valid authentication token. More details can be found in public/openapi.yaml
which can be imported as a file at Swagger Editor to generate documentation for all of the API endpoints.
To set up a local copy of the project, follow these steps.
- Clone the repository
git clone https://github.com/buistvn/tarpaulin.git
- Install packages
npm install
- Create a
.env
file in the root directory with the environment variablesMYSQL_DB_NAME="tarpaulin" MYSQL_USER="tarpaulin" MYSQL_PASSWORD="hunter2"
To run the project, follow these steps.
- Run the app and its services with Docker Compose
docker-compose up
- Test the endpoints with Insomnia by importing the tests provided in the
tests/
directory
CS 493 Final Project Team 12