Dartness is a dart framework for building efficient and scalable server-side applications.


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


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


You can find different examples if you prefer to understand the code by yourself in the /examples folder.


Install Dart SDK version >=3.0.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

1. Add dartness into the pubspec.yaml

  dartness_server: ^0.7.0

  build_runner: ^2.2.0
  dartness_generator: ^0.7.0

2.Create the file in "src/app.dart"

  module: Module(
    metadata: ModuleMetadata(
      controllers: [],
      providers: [],
      exports: [],
      imports: [],
  options: DartnessApplicationOptions(
    port: int.fromEnvironment(
      defaultValue: 8080,
class App {}

4.Generate the code

$ dart run build_runner build

5.Modify "bin/main.dart"

void main(List<String> args) async {
  await App().init();

6.Run the server

$ dart run bin/main.dart
Server listening on port 3000


You can run the example with the Dart SDK like this:

$ dart run example/main.dart
Server listening on port 3000


  1. HTTP
    • Controllers
      • Bind annotations
      • Header
      • Body
      • Param
      • Query
    • Middleware
    • Interceptor
    • Websockets
  2. Exceptions
    • Exception Handler
  3. Security
    • Roles
    • CORS
  4. Dependency Injection
    • Injectable
  5. Scheduling
    • Annotation
  6. Database
    • ORM
    • Repository
  7. Testing
  8. CLI