Skip to content

Latest commit

 

History

History
69 lines (62 loc) · 2.34 KB

roadmap.md

File metadata and controls

69 lines (62 loc) · 2.34 KB

Features & Roadmap

The framework is supposed to cover the requirements of the Microservice Patterns documented by Chris Richardson.

Model features

A Model is a central data object, representing the domain of our business logic (eg. User, Project, Task, etc.).

  • validation on the data model using multiple custom validators
  • json serialisation support
  • json schema generator
  • value generators
  • value converters
  • wire-format marshaller
  • omitted fields

ORM features

Appkernel features a thin and beautiful Object Relational Mapping (ORM/a.k.a database access layer / repository) implementation, making access to your data a super-simple task.

  • basic CRUD (create/update/delete) operations
  • easy to use active record style queries
  • automatically generated prefixed database ID
  • index management (unique index, text index, etc.) on the database
  • database schema validation and schema management
  • builtin converters for serialising or deserialising the model to and from various other formats
  • audited fields (eg. automatically added created, updated, updated_by fields)
  • document versioning
  • Bulk Inserts
  • Atomic updates
  • Optimistic locking
  • Concurrency and transaction control
  • Predefined Database Filters
  • Projections
  • Internal Resources

REST Service Endpoints

  • REST services (GET, PUT, POST, PATCH, DELETE)
  • HATEOAS actions on model
  • model metadata and json schema
  • URL query interface
  • Read-only by default
  • role based account management (RBAC)
  • basic authentication and JWT token support
  • customised, machine readable error messages
  • OpenApi support
  • File Storage
  • JSONP
  • graphql support
  • Conditional Requests
  • OAUTH
  • rate limiting and circuit breaker
  • API Versioning
  • GeoJSON

Performance controls

  • Data Integrity and Concurrency Control
  • Resource-level Cache Control

Microservice Infrastructure

  • externalized configuration
  • scheduler and background task executor
  • health checks
  • simplified logging
  • enhanced logging for ops teams
  • circuit breakers
  • CQRS
  • Event sourcing
  • SAGA Pattern
  • metrics
  • service registration and discovery
  • webflow a web state machine