A Spring Boot server for collecting, storing, and analyzing error logs with REST APIs and AI-powered log analysis
Overview: Regression is a Spring Boot-based server for collecting, storing, and analyzing application error logs. It provides RESTful APIs for log ingestion and retrieval, with AI-driven analysis to detect anomalies, trends, and root causes.

Screen.Recording.2025-05-18.at.15.24.55.mov
- Java 21 or higher
- Maven 3.8 or higher
- SQLite 3 (or your preferred database)
- Docker (optional, for containerized deployment)
-
Clone the repository
git clone https://github.com/kenya-jug/regression.git cd regression
-
Configure the database
- SQLite database will be automatically created in the project directory
- Update
src/main/resources/application.properties
with your database configuration:spring.datasource.url=jdbc:sqlite:regression.db spring.datasource.driver-class-name=org.sqlite.JDBC
-
Build the project
mvn clean install
-
Run the application
mvn spring-boot:run
The server will start on
http://localhost:8080
-
Build the Docker image
docker build -t regression .
-
Run the container
docker run -p 8080:8080 regression
Once the application is running, you can access the API documentation at:
- Swagger UI:
http://localhost:8080/swagger-ui.html
- OpenAPI Specification:
http://localhost:8080/v3/api-docs
-
Running Tests
mvn test
-
Code Style Check
mvn checkstyle:check
-
Generating Documentation
mvn javadoc:javadoc
-
Create a new branch for your feature
git checkout -b feature/your-feature-name
-
Make your changes and commit them
git add . git commit -m "Description of your changes"
-
Push your changes and create a pull request
Overall Coverage: 0% ✅
Metric | Covered | Missed | Total | Coverage |
---|---|---|---|---|
INSTRUCTION | 0 | 0% ✅ | ||
LINE | 0 | 0% ✅ | ||
BRANCH | 0 | 0% ✅ | ||
METHOD | 0 | 0% ✅ | ||
CLASS | 0 | 0% ✅ | ||
COMPLEXITY | 0 | 0% ✅ |