This API is part of FitLogr, an application project to track and manage workout data. Users can register and login using their GitHub account, or create a profile using username and password.
It uses Java 17 with Spring framework, and a relational database (MySQL or MariaDB).
Learn more (in Portuguese): https://matheusmisumoto.dev/portfolio/fitlogr-workout-tracking-web-app.html
- Spring Boot 3
- Spring Security
- Spring Reactive Web
- Spring Data
- Spring HateOAS
- Validation
- Clone the repository
- Using your IDE, install the dependencies
- Modify
application-prod.propertiesto use your settings to connect to your database. You can also create a new profile and setspring.profiles.activeonapplication.propertiesto use it.
POST /auth/oauth: Login with GitHubPOST /auth/login: Login with username and passwords
GET /v1/exercises: List all exercisesGET /v1/exercises/{id}: Get details from an exercisePOST /v1/exercises: Add a new exercise (admin only)PUT /v1/exercises/{id}: Edit exercise information (admin only)DELETE /v1/exercises/{id}: Remove an exercise (admin only)
GET /v1/workouts/user/{userid}/all: List all workouts from a userGET /v1/workouts/user/{userid}/latest: List the 10 latest workouts from a userGET /v1/workouts/user/{userid}/{id}: Retrieve all details from an workoutGET /v1/workouts/user/{userid}/exercise/{exerciseid}: Get latest user stats from an exercisePOST /v1/workouts: Add workout logPUT /v1/workouts/{id}: Edit workout log, including metadata and list of exercises and sets (admin and self profile only)DELETE /v1/workouts/{id}: Remove workout log (admin and self profile only)
GET /v1/users/register: Add a new userGET /v1/users: List all users (admin only)GET /v1/users/{id}: Retrieve user informationPUT /v1/users/{id}: Edit user profile (admin and self profile only)DELETE /V1/users/{id}: Delete user (admin and self profile only)
Developed with ☕ by Matheus Misumoto in Santos, Brazil
