https://github.com/rocky-jaiswal/api-boilerplate
Experiment with Kotlin + Javalin
https://github.com/rocky-jaiswal/api-boilerplate
Last synced: 2 months ago
JSON representation
Experiment with Kotlin + Javalin
- Host: GitHub
- URL: https://github.com/rocky-jaiswal/api-boilerplate
- Owner: rocky-jaiswal
- Created: 2019-02-23T14:15:23.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-10-21T10:19:28.000Z (about 4 years ago)
- Last Synced: 2025-08-04T08:37:45.939Z (3 months ago)
- Language: Kotlin
- Size: 103 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# API Boilerplate
Simple Javalin + Kotlin based API boilerplate. Please note that this project is WIP.
## Checklist
- Restful (HTTP + JSON with correct HTTP methods) / GraphQL based ✔️
- Build + dependency management tool (e.g. npm, gradle) ✔️
- Testing
- Unit ✔️
- Usually needs a mocking library (Mockk)
- Integration (request / db level) ✔️
- Contract / Pact
- CI testing with test DB etc. ✔️
- Test DB should be cleaned after each (unit) test run ✔️
- Linting / style check
- Multi env. configuration ✔️
- Local, QA, Production
- Secrets management ✔️
- Also may vary depending on env.
- CORS in development ✔️
- Also may vary depending on env. ✔️
- Hot reload in development (automatic restart)
- JSON + XML parsing / generation
- HTTP client (for service level integration) or maybe Prot. Buffer / gRPC
- Request validation (JSON validation)
- Logging + log format customization ✔️
- DB connection pooling ✔️
- DB seeding / data loading
- ORM / Query builder ✔️
- DB migration ✔️
- Error handling + reporting
- CI / CD
- Code quality analysis / measurement
- Dependency Injection (if applicable, for better testable code) ✔️
- Authenticated paths / Non-Authenticated paths
- JWT Authentication ✔️
- Authorization ✔️
- API documentation / spec (e.g. openAPI / Swagger)
- Docker + Docker-Compose setup
- Horizontal scaling strategy (API should be stateless for example)
- Data pagination
- Metrics (e.g req per sec, response time, custom metrics)