24 lines
1.3 KiB
Markdown
24 lines
1.3 KiB
Markdown
# 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](https://flitter.garrettmills.dev) 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
|