- Clone the related infrastructure repo and follow the setup instructions
- Ensure you have the latest Deno installed
- Clone this repo
- Run
deno task setup:all- creates .env file with defaults, sets up and seeds database, generates prisma client - Run
deno task dev- start service
DONE:
- JWT issuance and middleware
- JWT refresh token and flow
- Deno KV session validation and easy invalidation
- Pagination (10, 25, 50, 100)
- DB setup and migration CLI tools
- Easy project setup
- Last-Modified header for individual and collection entity endpoints
- Emit etag for API resources
TODO:
- Only emit etag for GET-type routes
- Some more meaningful entities
- JWT invalidation via CLI
- API tests (in progres...)
- Hono CORS middleware
- Hono / Zod OpenApi generation
- View models (AKA transformers / presenters) - perhaps class based with declarative properties e.g.
publicFields, map transform field:function - ACL system for API components
- Queue for async I/O (probably using Deno KV Queue)
- OAuth2.0
- CI testing
- Postmark integration
- Varnish in front of all GET by default, with per-calling=user and per-resource tagging to allow for invalidation
- Invalidation strategies for all listable entities to account for pagination
- both singular e.g. /user/*
- and composite e.g. /user/:id/post/*