dartapi 0.1.4 copy "dartapi: ^0.1.4" to clipboard
dartapi: ^0.1.4 copied to clipboard

DartAPI is a CLI-driven project generator and toolset for building typed REST APIs in Dart. It provides modular packages for authentication, database access, request validation, and controller-based r [...]

DartAPI CLI #

DartAPI is a modular and developer-friendly CLI tool for building robust, typed REST APIs using the Dart language.
Rather than acting as a heavy, opinionated framework, DartAPI provides powerful code generation tools that let you build scalable backend applications with clean architecture, JWT authentication, request validation, and PostgreSQL/MySQL support.


๐Ÿ“ฆ What It Does #

  • โœ… Project scaffolding (dartapi create)
  • โœ… Controller generation (dartapi generate controller)
  • โœ… Hot-reload style dev server with keyboard controls (dartapi run)
  • โœ… Integrated with:

๐Ÿš€ Installation #

Activate globally:

dart pub global activate dartapi

๐Ÿ“ CLI Commands #

dartapi create <project_name> #

Creates a full DartAPI project with:

  • bin/main.dart
  • Controllers (UserController, AuthController, ProductController)
  • Middleware (logging, auth)
  • JWT setup with dartapi_auth
  • DB support with dartapi_db
  • DTOs and validation helpers
  • Auto schema definitions for future Swagger support

dartapi generate controller <Name> #

Adds a controller to an existing DartAPI project:

dartapi generate controller Product

Generates lib/src/controllers/product_controller.dart with GET and POST methods and proper typing.


dartapi run --port <port> #

Runs your DartAPI server using bin/main.dart.
You can control it interactively:

  • Type :q to quit
  • Type r to reload
dartapi run --port=8080

๐Ÿงช Example Usage #

dartapi create my_app
cd my_app
dart pub get
dartapi run --port=8080

Now open Postman and test /users or /auth/login.


๐Ÿงฑ Generated Project Structure #

my_app/
โ”œโ”€โ”€ bin/
โ”‚   โ””โ”€โ”€ main.dart
โ”œโ”€โ”€ lib/
โ”‚   โ””โ”€โ”€ src/
โ”‚       โ”œโ”€โ”€ core/           # Server/router setup
โ”‚       โ”œโ”€โ”€ controllers/    # UserController, AuthController, etc.
โ”‚       โ”œโ”€โ”€ dto/            # DTOs with schema
โ”‚       โ”œโ”€โ”€ db/             # DB connection logic
โ”‚       โ”œโ”€โ”€ middleware/     # Auth/logging middleware
โ”‚       โ””โ”€โ”€ utils/          # Validation, helpers
โ”œโ”€โ”€ pubspec.yaml
โ””โ”€โ”€ analysis_options.yaml

โœ… Why Use DartAPI? #

  • Minimal but powerful
  • Follows clean architecture principles
  • Type-safe routing using ApiRoute<ApiInput, ApiOutput>
  • Built-in JWT auth and DB integration
  • Ready to extend with OpenAPI/Swagger

๐Ÿ“„ License #

BSD 3-Clause License ยฉ 2025 Akash G Krishnan
LICENSE


5
likes
130
points
470
downloads
screenshot

Publisher

verified publisherakashgk.com

Weekly Downloads

DartAPI is a CLI-driven project generator and toolset for building typed REST APIs in Dart. It provides modular packages for authentication, database access, request validation, and controller-based routing. Ideal for developers who want structure, but not a full framework.

Repository (GitHub)
View/report issues
Contributing

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

path, shelf, shelf_router, shelf_static

More

Packages that depend on dartapi