Introduction
Dartness is a dart framework for building efficient and scalable server-side applications.
Description
Dartness is a framework for building efficient, scalable dart server-side applications. It provides an easy and quick way to develop modern standalone server.
Under the hood, Dartness makes use of shelf.
Inspired by Spring Boot and Nest frameworks
Goals
The following goals are the main objectives that Dartness needs to provide and why it was designed for:
- ๐ Full stack integration with flutter or other dart front end frameworks
- ๐คนโโ๏ธ๐คนโโ๏ธ Easy and understandable for people coming from other kind of technology as Spring Boot and NestJS
- โ Simplicity, it should be easy to know why and how to use every functionality
- ๐จโ๐ป๐ฉโ๐ป Community empowered, where the community should be able to understand and maintain the dartness project by their own
Examples
You can find different examples if you prefer to understand the code by yourself in the /examples folder.
Requisites
Install Dart SDK version >=2.17.0
$ dart --version
Dart SDK version: 3.0.0 (stable)
Docs and more
You can check the documentation at dartness docs
Creating a new project
$ dart create -t console your_project_name
- Add dartness into the pubspec.yaml
dependencies:
dartness_server: ^0.6.1
dev_dependencies:
build_runner: ^2.2.0
dartness_generator: ^0.6.1
- Create the file in "bin/main.dart"
void main() async {
final app = Dartness(
port: 3000,
);
await app.create();
}
- Run the server
$ dart run bin/main.dart
Server listening on port 3000
Example
You can run the example with the Dart SDK like this:
$ dart run example/main.dart
Server listening on port 3000
TODO
- HTTP
- Controllers
Bind annotationsHeaderHeadersBodyParamQuery
MiddlewareInterceptor- Websockets
- Controllers
- Exceptions
Exception Handler
- Security
- Roles
- CORS
- Dependency Injection
- Injectable
- Scheduling
- Annotation
- Database
- ORM
- Repository
- Testing
- CLI
Libraries
- dartness
- The core libraries of the Dartness framework.
- exception
- Library that exposes the API for the exceptions
- modules
- The modules libraries of the Dartness framework.
- route
- Library that exposes the API for the route
- schedule
- Library that exposes the API for the server
- server
- Library that exposes the API for the server