This project contains two applications for tracking and logging board game sessions. It is designed for personal use and consists of two main components:
- Backend (log-play-lambda): A basic backend built to follow the OpenAPI specifications.
- Frontend (log-play-page): A frontend that is still under development, with plans to use React, Typescript, Ant Design, and Next.JS.
The backend is implemented in Java 17 as Lambda functions and is deployed with AWS SAM. It provides API endpoints to manipulate game logs and records, as well as health check functionality.
The available endpoints are:
- PUT /games/log: Updates the entire game record log.
- GET /games/log: Retrieves the log of all games.
- GET /games: Gets a specific game record.
- PUT /games: Inserts a single game record.
- GET /healthcheck: Health check with database status.
Complete API documentation is available through Swagger UI for log-play-app
The backend is deployed using AWS SAM, as described in the provided SAM template. It utilizes AWS services such as DynamoDB and ApiGateway.
The CI process is handled through GitHub Actions, including the setup of Java JDK 17, integration testing, packaging, and deployment to AWS.
The frontend is planned to be built using the following technologies:
- React
- TypeScript
- Ant Design
- Next.JS
The frontend is currently under development. The current mocked static page can be found at log-play-page.