SynchTask Backend is a collaborative task management API built with Kotlin (JVM) and Spring Boot 3.
It serves as the backend core of the SynchTask ecosystem and is developed as engineering-focused backend project
Current stable release: v1.0.0
This version establishes a contract-stable and security-hardened backend baseline.
- Monolithic backend (no microservices)
- Stateless JWT security (RS256 + JWKS)
- Hybrid authorization (global roles + membership-based access)
- Validation-hardened HTTP contract
- Backend-only repository (frontend under development)
See: Engineering Decisions (v1.0)
- Kotlin + Spring Boot 3
- MySQL + Redis
- OAuth2 Resource Server with RS256 JWT
- OpenAPI / Swagger UI
- Bruno integration test suites
- Configure environment variables:
cp .envrc.example .envrc
# edit values for your local environmentIf you use direnv:
direnv allow- Run the application:
./gradlew bootRun- Run with dev profile:
SPRING_PROFILES_ACTIVE=dev ./gradlew bootRun- Open API docs:
- Swagger UI:
http://localhost:8081/swagger-ui/index.html - OpenAPI JSON:
http://localhost:8081/v3/api-docs
./gradlew test
./gradlew detekt
./gradlew jacocoTestReport- Architecture
- Configuration
- HTTP Error Semantics
- Database
- Engineering Decisions (v1.0)
- OpenAPI Export
- Bruno Test Suites
- Pagination & sorting standardization
- Observability improvements (structured logging + metrics exposure)
- Membership query performance optimization
- OpenAPI schema enrichment (error models + examples)
- Extended integration tests for authorization edge cases
- Event-driven extensions
- Modularization of bounded contexts
- Public demo deployment
Licensed under the terms in LICENSE.md.