A Java Spring Boot REST API project with PostgreSQL backend, demonstrating:
- Spring Boot with Java 21
- JPA/Hibernate with PostgreSQL
- Testcontainers for integration testing
- OpenAPI/Swagger documentation
- GitHub Actions CI/CD
- Static API documentation on GitHub Pages
- Java 21
- Maven 3.x
- Docker
# Build the project
mvn clean compile
# Run tests (uses Testcontainers - no manual database setup needed)
mvn test
# Run the application (requires database)
docker compose up -d
mvn spring-boot:runThe application will be available at http://localhost:8080
View test results in:
- 🔍 GitHub Actions - CI Runs with line-level annotations on failures
- 📊 Local Coverage - Run
mvn verifythen opentarget/site/jacoco/index.html
Static API documentation is available at: https://macintorsten.github.io/reflection/
The documentation is automatically generated and deployed:
- OpenAPI spec is extracted from the running application during GitHub Pages deployment
- No manual updates needed - documentation stays in sync with code changes
- "Try it out" functionality is disabled since there's no running server backend
The project uses GitHub Actions for continuous integration:
- ✅ Runs on every push to
mainand all pull requests - ✅ Executes full test suite (115+ tests) with Testcontainers and Playwright
- ✅ Uses mikepenz/action-junit-report for test reporting
- ✅ Uploads test artifacts and screenshots on failures
- ✅ Generates code coverage reports with JaCoCo
See .github/workflows/ci.yml for the complete configuration.
This repository includes comprehensive instructions for GitHub Copilot to provide better assistance with:
- Building and testing the application
- Understanding project architecture
- Following coding standards
The instructions are located in .github/copilot-instructions.md and .github/instructions/.
For more details, see .github/copilot-instructions.md.