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

Related tags

Templates dartness
Overview

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

$ 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
You might also like...

A modular app architecture that can be scalable as the time passes

A modular app architecture that can be scalable as the time passes

A modular app architecture that can be scalable as the time passes. I will be using the BLoC state-management package.

Dec 25, 2022

Data Migrator - provide a universal translator for data by being portable, diverse, and efficient in migrating and converting data across discrete schemas

Data Migrator - provide a universal translator for data by being portable, diverse, and efficient in migrating and converting data across discrete schemas

Data Migrator - provide a universal translator for data by being portable, diverse, and efficient in migrating and converting data across discrete schemas

Jan 2, 2023

An efficient and easy CA-Client interaction flutter project

An efficient and easy CA-Client interaction flutter project

Cloud Accounting An efficient and easy CA-Client interaction flutter project This is an application for a CA to interact with its clients. Clients can

Dec 18, 2022

UIWidget is a Unity Package which helps developers to create, debug and deploy efficient, cross-platform Apps.

UIWidget is a Unity Package which helps developers to create, debug and deploy efficient, cross-platform Apps.

⚠️ The main repository of UIWidgets has been moved to https://github.com/Unity-Technologies/com.unity.uiwidgets. Please visit the new site if you have

Dec 27, 2022

AI Library to create efficient Artificial Neural Networks. Computation uses SIMD (Single Instruction Multiple Data) to improve performance.

eneural_net eNeural.net / Dart is an AI Library for efficient Artificial Neural Networks. The library is portable (native, JS/Web, Flutter) and the co

Dec 29, 2022

Project demonstrates building a simple chat application using Flutter framework and Firebase cloud

Project demonstrates building a simple chat application using Flutter framework and Firebase cloud

Flutter Chat on Firebase Project demonstrates building a simple chat application using Flutter framework and Firebase cloud. App does not poll for new

Feb 2, 2022

Another breakpoint framework. Aims to simplify as much as possible building adaptive layouts.

Another breakpoint framework. Aims to simplify as much as possible building adaptive layouts. Features Really simple implementation Works with and wit

Sep 26, 2022

A comprehensive guide on learning how to code cross platform mobile applications with the Flutter framework, from the ground up.

A comprehensive guide on learning how to code cross platform mobile applications with the Flutter framework, from the ground up.

✳️ The Ultimate Guide to App Development with Flutter ✳️ A complete and comprehensive guide to learning Flutter with explanations, screenshots, tips,

Jan 1, 2023
Comments
  • dart:mirrors is unstable and reflection needs another type of approach

    dart:mirrors is unstable and reflection needs another type of approach

    Currently, dart:mirrors is unstable, and dart AOT doesn't allow the project to be compiled in order to produce machine code.

    This issue is created in order to change to an alternative and do some research about what could be the best alternative.

    Please feel free to comment this issue with your opinion 👇😀

    Considerations

    • The best approach would be trying to avoid to generate code using build_runner.

    Alternatives (will be updated)

    More sources: Reddit thread 1 Reddit thread 2 Discontinuing dart mirrors Dart mirror main issue

    enhancement help wanted 
    opened by RicardoRB 0
  • use prisma as orm

    use prisma as orm

    there are amazing prisma client for dart is develop here https://github.com/odroe/prisma-dart as it has full type-safety and it could connected into a lot of database it also used the officially prisma engine I think this framework should use this as it is orm

    opened by Ali1Ammar 2
  • Enable multicore

    Enable multicore

    In order to activate multicore some changes has to be done, investigate regard shelf multicore and how to implement in dartness framework.

    Example in shefl: https://stackoverflow.com/questions/30318723/how-to-use-multiple-isolates-to-serve-requests

    enhancement 
    opened by RicardoRB 0
Releases(v0.4.0-alpha)
  • v0.4.0-alpha(Aug 25, 2022)

    Removed mirrors and code generation is used in order to be able to compile and removed instability. Check this issuefor more information.

    What's Changed

    • 2 dartmirrors is unstable and reflection needs another type of approach by @RicardoRB in https://github.com/RicardoRB/dartness/pull/3
    • 0.4.0 alpha by @RicardoRB in https://github.com/RicardoRB/dartness/pull/4

    Full Changelog: https://github.com/RicardoRB/dartness/compare/0.3.0-alpha...v0.4.0-alpha

    Source code(tar.gz)
    Source code(zip)
  • 0.3.0-alpha(Aug 5, 2022)

    • QueryParam
      • Now admit name params and null values
    • Exceptions
      • HttpStatusException
      • Global Error Handlers
    • Code improvements
      • Refactor code with logic representation of shelf
      • Created files in order to select the export API
      • Multiple libraries
    • Added more documentation

    Full Changelog: https://github.com/RicardoRB/dartness/compare/v0.2.0-alpha...0.3.0-alpha

    Source code(tar.gz)
    Source code(zip)
  • v0.2.0-alpha(Jul 3, 2022)

    • Created Get, Post, Put, Delete, Head, Options, and Trace methods.
    • Created Header annotation.
    • Created Body annotation.
    • Created QueryParam annotation.
    • Created PathParam annotation.

    Full Changelog: https://github.com/RicardoRB/dartness/commits/v0.2.0-alpha

    Source code(tar.gz)
    Source code(zip)
  • v0.1.0-alpha(Jun 20, 2022)

Owner
Ricardo Romero
Software developer lover :)
Ricardo Romero
Flying Fish is full-stack Dart framework - a semi-opinionated framework for building applications exclusively using Dart and Flutter

Flying Fish is full-stack Dart framework - a semi-opinionated framework for building applications exclusively using Dart and Flutter.

Flutter Fish 3 Dec 27, 2022
A Customizable Progressive Time Picker for Flutter.

progressive_time_picker A Customizable Progressive Time Picker for Flutter. This plugin allow us to customize time picker based on our requirements fo

MindInventory 50 Nov 21, 2022
Arna Framework - A unique set of widgets for building applications with Flutter.

Arna Arna Framework - A unique set of widgets for building applications with Flutter. This Framework is in active development. Any contribution, idea,

Mahan 86 Dec 11, 2022
The ROHD Verification Framework is a hardware verification framework built upon ROHD for building testbenches.

ROHD Verification Framework The ROHD Verification Framework (ROHD-VF) is a verification framework built upon the Rapid Open Hardware Development (ROHD

Intel Corporation 18 Dec 20, 2022
Flutter package for displaying and animating Scalable Vector Graphics 1.1 files. The package has been written solely in Dart Language.

Animated SVG | Flutter Package Flutter package for displaying and animating Scalable Vector Graphics 1.1 files. The package has been written solely in

Bulent Baris Kilic 5 Jul 19, 2022
⚒️ A monorepo containing a collection of packages that provide useful functionality for building CLI applications in Dart.

⚒️ Dart CLI Utilities A monorepo containing a collection of packages that provide useful functionality for building CLI applications in Dart. Document

Invertase 14 Oct 17, 2022
A simple and efficient FFT implementation for Dart

fftea A simple and efficient Fast Fourier Transform (FFT) library. FFT converts a time domain signal to the frequency domain, and back again. This is

Liam Appelbe 29 Nov 18, 2022
Flutter integration for Supabase. This package makes it simple for developers to build secure and scalable products.

supabase_flutter Flutter package for Supabase. What is Supabase Supabase is an open source Firebase alternative. We are a service to: listen to databa

Supabase 251 Jan 7, 2023
An application of learning outcomes from the Mastering Flutter 2.0 class: Building Travel and Aircraft Applications Buildwithangga

Airplane An application of learning outcomes from the Mastering Flutter 2.0 class: Building Travel and Aircraft Applications Buildwithangga ?? ScreenS

Qwerty 2 Aug 29, 2022
Flutter template project - Simple ToDo app with scalable project structure.

Flutter Template Flutter template project - A simple TODO list app. This template provides simple UI and scalable project structure that goes beyond t

Web Factory LLC 128 Nov 21, 2022