Features & Roadmap¶
The framework aims to cover the requirements of the Microservice Patterns documented by Chris Richardson.
Model features¶
A Model is a central domain object (e.g. User, Project, Task) that serves as the single source of truth for persistence, validation, serialisation, and REST exposure.
[x] validation using multiple built-in and custom validators
[x] JSON serialisation and deserialisation
[x] JSON Schema generation (Draft-04)
[x] value generators (UUID, timestamp, current user)
[x] value converters (password hashing, normalisation)
[x] wire-format marshallers (timestamp, date↔datetime)
[x] fields excluded from wire format (
Field(exclude=True))
ORM features¶
A thin and expressive Object–Document Mapping layer on top of MongoDB.
[x] basic CRUD (create, update, delete) operations
[x] active-record style query DSL
[x] automatically generated and prefixed document IDs
[x] index management (standard, unique, text)
[x] MongoDB document schema validation
[x] built-in serialisation converters
[x] auditable fields (inserted, updated, version)
[x] document versioning with optimistic locking (HTTP 409 on conflict)
[x] bulk inserts
[x] atomic field updates
[ ] predefined database filters
[ ] field projections
[ ] transactions (multi-document)
REST Service Endpoints¶
[x] REST services (GET, PUT, POST, PATCH, DELETE)
[x] HATEOAS links on model responses
[x] model metadata and JSON schema endpoints
[x] URL query interface (filter, sort, paginate, aggregate)
[x] read-only by default; write methods opt-in
[x] role-based access control (RBAC)
[x] JWT authentication (RS256)
[x] machine-readable error messages
[x] OpenAPI 3.0 / Swagger UI support
[x] file storage (filesystem and GridFS backends, validation chain)
[x] rate limiting (fixed-window, per-endpoint overrides, 429 + Retry-After)
[x] circuit breaker (CLOSED / OPEN / HALF_OPEN, per-upstream)
[x] CORS support
[x] API versioning (URL prefixes, view models, deprecation signals)
[ ] JSONP
[ ] GraphQL support
[ ] conditional requests (ETags, If-None-Match)
[ ] OAuth2 support
[ ] GeoJSON field type
Performance controls¶
[ ] resource-level cache control
[ ] data integrity and concurrency control beyond optimistic locking
Microservice infrastructure¶
[x] externalised configuration (cfg.yml, env vars, CLI flags)
[x] inter-service HTTP client with connection pooling and circuit breaker
[ ] scheduler and background task executor
[ ] health check endpoints
[ ] metrics collection (Prometheus / OpenTelemetry)
[ ] service registration and discovery
[ ] CQRS
[ ] event sourcing
[ ] SAGA pattern
[ ] Redis-backed rate limiter for multi-instance deployments
[ ] S3 / Azure Blob / GCS storage backends