daton/README.md
2020-08-17 09:50:10 -05:00

1.3 KiB

Daton Monorepo

Daton is my work-in-progress application framework for Deno. It's written from scratch, using native Deno libraries.

This library is a reincarnation of my Flitter framework for Node.js.

This library is organized as a mono-repo, and contains the following components:

  • DI
    • Daton ships with its own type-metadata based inversion of control container, which is used to manage services and the application lifecycle.
    • It does this by injecting dependencies into class constructors using type-hints added to the metadata by TypeScript at compile time
  • Library
    • The Daton library contains common elements used in Daton, such as:
      • Collections and AsyncCollections
      • Classes for interacting with HTTP requests, responses, and cookies
      • Logic for the application and lifecycle units
      • Units for controllers, middleware, route definitions, &c.
  • ORM
    • Daton also uses its own PostgreSQL ORM, which is ES6 native, and support a rich feature set, including:
      • Class-based models
      • Rich, fluent query builders
      • Model relations, and nested relations, with eager loading
      • Query result iterators, and custom query operators
  • The work-in-progress app template