- App:
- Java 25
- Spring Boot
- Jetty Server
- Gradle
- Storages:
- MongoDB
- Redis Cache
- Testing:
- k6
- JUnit
- Grafana
- Prometheus
- micrometer
- jococo
- Codecov
There are 3 Docker profiles:
- production
- test
- load-test
For the load testing use scripts in bash folder. You'll get report in docs directory. During the load test you can access:
- Grafana: http://localhost:3000
you can download this dashboard to import in Grafana.
Profiling data is collected and stored in snapshots/profile.jfr
.env:
SPRING_DATA_MONGODB_URI=
JWT_SECRET=
RANDOM_GENERATOR_SEED=
REDIS_HOST=redis
REDIS_PORT=6379.env.grafana:
GF_SECURITY_ADMIN_PASSWORD=.env.mongo:
MONGO_INITDB_ROOT_USERNAME=
MONGO_INITDB_ROOT_PASSWORD=
MONGO_INITDB_DATABASE=.env.testing:
SPRING_DATA_MONGODB_URI=
JWT_SECRET=
RANDOM_GENERATOR_SEED=
REDIS_HOST=redis-test
REDIS_PORT=6379
