dartness_root 1.0.0 dartness_root: ^1.0.0 copied to clipboard
Dartness root pubspec
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 >=3.0.0
$ dart --version
Dart SDK version: 3.0.0 (stable)
copied to clipboard
Docs and more #
You can check the documentation at dartness docs
Creating a new project #
$ dart create -t console your_project_name
copied to clipboard
1. Add dartness into the pubspec.yaml #
dependencies:
dartness_server: ^0.7.0
dev_dependencies:
build_runner: ^2.2.0
dartness_generator: ^0.7.0
copied to clipboard
2.Create the file in "src/app.dart" #
@Application(
module: Module(
metadata: ModuleMetadata(
controllers: [],
providers: [],
exports: [],
imports: [],
),
),
options: DartnessApplicationOptions(
port: int.fromEnvironment(
'port',
defaultValue: 8080,
),
),
)
class App {}
copied to clipboard
4.Generate the code #
$ dart run build_runner build
copied to clipboard
5.Modify "bin/main.dart" #
void main(List<String> args) async {
await App().init();
}
copied to clipboard
6.Run the server #
$ dart run bin/main.dart
Server listening on port 3000
copied to clipboard
Example #
You can run the example with the Dart SDK like this:
$ dart run example/main.dart
Server listening on port 3000
copied to clipboard
TODO #
- HTTP
- Controllers
Bind annotationsHeaderBodyParamQuery
MiddlewareInterceptor- Websockets
- Controllers
ExceptionsException Handler
- Security
- Roles
- CORS
Dependency InjectionInjectable
- Scheduling
- Annotation
- Database
- ORM
- Repository
- Testing
- CLI