vader_server 0.1.0 copy "vader_server: ^0.1.0" to clipboard
vader_server: ^0.1.0 copied to clipboard

Vader package for build cli programs.

vader_server #

A modular server framework for Dart applications built on top of Serinus.

Features #

  • Modular architecture for organizing server components
  • Dependency injection system
  • Controller-based routing
  • Middleware support
  • Standardized API responses
  • CORS support
  • Request/response logging
  • Hot reloading for development

Installation #

Add the following dependency to your pubspec.yaml file:

dependencies:
  vader_server: ^0.1.0

Then run:

dart pub get

Usage #

1) Create a Module #

Modules are the building blocks of your application. They contain controllers, middlewares, and services.

import 'package:vader_server/vader_server.dart';

class AppModule extends VaderModule {
  Injector? _injector;

  @override
  Injector? get services {
    if (_injector != null) return _injector;

    _injector = Injector();
    _injector!.addSingleton(MyService.new);
    
    return _injector!;
  }

  @override
  List<Controller> get controllers => [TaskController()];

  @override
  List<Middleware> get middlewares => [];
}

2) Create a Controller #

Controllers handle HTTP requests and define routes.

import 'package:vader_server/vader_server.dart';
import 'package:vader_server/api_response.dart';

class TaskController extends Controller {
  TaskController({super.path = '/task'}) {
    on(Route.get('/list'), _listTasks);
    on(Route.post('/'), _createTask);
  }

  Future<ApiResponse> _listTasks(RequestContext context) async {
    try {
      final taskService = injector.use<TaskService>();
      final tasks = await taskService.listAllTasks();
      return SuccessResponse.ok(data: tasks);
    } catch (e) {
      return ErrorResponse.internalServerError(message: e.toString());
    }
  }

  Future<ApiResponse> _createTask(RequestContext context) async {
    // Implementation...
  }
}

3) Set Up the Server #

In your main function, initialize and run the server with your modules.

import 'package:vader_server/vader_server.dart';

Future<void> main(List<String> arguments) async {
  await VaderServer(
    modules: [AppModule(), TaskModule()],
    config: VaderServerConfig(
      port: 8000,
      enableResponseLog: true,
      isDebugMode: true,
    ),
  ).run();
}

4) API Responses #

The package provides standardized API responses:

// Success response
return SuccessResponse.ok(data: myData);

// Error response
return ErrorResponse.notFound(message: "Resource not found");

Author #

👤 Martin Jablečník

Show your support #

Give a ⭐️ if this project helped you!

📝 License #

Copyright © 2025 Martin Jablečník.
This project is licensed under MIT License.

0
likes
0
points
10
downloads

Publisher

unverified uploader

Weekly Downloads

Vader package for build cli programs.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

hotreloader, serinus, uuid, vader_core

More

Packages that depend on vader_server