Skip to content

grantoz/oscar-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Oscar API

Setup

Inspiration

Features

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/*

About

Simple Deno Crud API toy project with emhpasis on lightweight tooling, just to set up all the things and perhaps use as a basis for other things.

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors