Skip to content
This repository has been archived by the owner on Dec 19, 2024. It is now read-only.

haywalk/knowin-notes-api

Repository files navigation

Knowin' Notes REST API

This is the backend for Knowin' Notes, a web application intended to teach the user how to sight read piano music. This application was developed as part of COMP 4721 (Software Design) at Mount Allison University in Fall 2024, and I have mirrored the repository here for posterity. The API is written in Java using Spring, with Gradle as the build system.

Installation

Requires Gradle 8.10.2, Java 17, and pdflatex to be installed. Run using gradle bootRun.

API Specification

/api/LIST_REPORTS
Returns a JSON array containing all reports in the database as JSON objects.
/api/GET_REPORT?id=id
Return the report with ID id as a JSON object.
/api/GET_STATE?old=state
Given a JSON representation of a state encoded in base-64, return either an updated state as plain JSON or a report as plain JSON if the game has ended.
/api/GENERATE_PDF?id=id
Return a PDF document containing the report with ID id.