Introduction

Dartness is a progressive 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

Installation

Install Dart SDK version >=2.17.1

$ dart --version            
Dart SDK version: 2.17.3 (stable)

Creating a new project

$ dart create -t console your_project_name
  1. Add dartness into the pubspec.yaml
dependencies:
  dartness_server: ^0.2.0-alpha
  1. Create the file in "bin/main.dart"
import 'package:dartness_server/dartness.dart';

import 'example_controller.dart';

void main() async {
  final app = Dartness(
    port: 3000,
  );
  await app.create();
}

  1. 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

Docs and more

You can check the documentation at dartness docs

TODO

  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

Libraries

bind
body
controller
dartness
dartness_interceptor
dartness_pipeline
dartness_router
dartness_server
default_dartness_pipeline
default_dartness_router
default_dartness_server
delete
get
http_status
options
patch
path_param
post
put
query_param
router_handler
string_utils