buistvn / tarpaulin

RESTful API that stores and provides data for a learning management system

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tarpaulin

Project Screenshot

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.

Technologies

Installation

To set up a local copy of the project, follow these steps.

  1. Clone the repository
    git clone https://github.com/buistvn/tarpaulin.git
  2. Install packages
    npm install
  3. Create a .env file in the root directory with the environment variables
    MYSQL_DB_NAME="tarpaulin"
    MYSQL_USER="tarpaulin"
    MYSQL_PASSWORD="hunter2"

Usage

To run the project, follow these steps.

  1. Run the app and its services with Docker Compose
    docker-compose up
  2. Test the endpoints with Insomnia by importing the tests provided in the tests/ directory

Authors

CS 493 Final Project Team 12

About

RESTful API that stores and provides data for a learning management system


Languages

Language:JavaScript 99.7%Language:Dockerfile 0.3%