v1.0.0+10 Now Available
Flint Dart Logo

Flint Dart

Hot Reload
Api Services
ORM Included

The modern backend framework for Dart & Flutter developers.
Build with freedom, scale with power — all in pure Dart.

The Fastest Way to Build
Powerful APIs in Dart

Flint Dart is a high-performance backend framework that combines speed, simplicity, and structure. It’s built for developers who want to move fast — creating clean, scalable APIs and services with elegant, expressive code and instant hot reload.

Hot Reload

Boost your productivity with Dart's native hot reload — perfect for rapid backend iteration without restarting the server.

example.dart
import 'package:flint_dart/flint_dart.dart';

void main() {
  final app = Flint(hotReload: true);
  app.get('/', (req, res) => res.send('Hot Reload Active!'));
  app.listen(3000);
}

ORM with Model Tables

Define database tables directly in your models. Flint Dart ORM handles schema and queries seamlessly.

example.dart
import 'package:flint_dart/model.dart';
import 'package:flint_dart/schema.dart';

class User extends Model<User> {
  String? id;
  String? name;
  String? email;

  @override
  Map<String, dynamic> toMap() => {
    'id': id,
    'name': name,
    'email': email,
  };

  @override
  User fromMap(Map<String, dynamic> map) => User()
    ..id = map['id']
    ..name = map['name']
    ..email = map['email'];
}

Authentication

Built-in authentication with session and token support — including Google OAuth out of the box.

example.dart
app.auth.login((req, res) {
  // Handle login
});

app.auth.google(
  clientId: 'xxx', 
  clientSecret: 'yyy'
);

Middleware

Add custom logic before requests reach your routes — for authentication, logging, or request transformations.

example.dart
import 'package:flint_dart/flint_dart.dart';
      
class AuthMiddleware extends Middleware {
  @override
  Handler handle(Handler next) {
    return (Request req, Response res) async {
      final token = req.bearerToken;
      if (token == null) return res.unauthorized();
      return await next(req, res);
    };
  }
}

Routing

Express-style routing made Dart-friendly — define routes with clean, minimal syntax.

example.dart
app.get('/', (req, res) {
 return res.send('Hello World');
});

app.post('/users', (req, res) {
return  res.send('Create User');
});

Migration Without Files

Run and manage database migrations without juggling migration files — simpler, cleaner workflow.

example.dart
@override
Table get table => Table(
  name: 'users',
  columns: [
    Column(
      name: 'id',
      type: ColumnType.integer,
      isPrimaryKey: true
    ),
    Column(
      name: 'name', 
      type: ColumnType.string
    ),
  ],
);

Google Auth

Authenticate users with Google in just a few lines — OAuth made simple.

example.dart
app.auth.google(
  clientId: 'your_client_id',
  clientSecret: 'your_client_secret'
);

MySQL Support

Connect to MySQL databases seamlessly — ORM ready and optimized for production workloads.

example.dart
final db = DB.connect(
  host: 'localhost',
  user: 'root',
  password: 'pass',
  database: 'flintdart'
);

app.useDatabase(db);

Validation

Laravel-style validation rules with a Dart twist — clean and readable.

example.dart
await Validator.validate(body, {
  "email": "required|email",
  "name": "required|min:5",
  "password": "required|min:8"
});

Hashing

Secure password hashing built-in — no extra packages needed.

example.dart
final hashed = Hashing().hash(password);
final isMatch = Hashing().verify(password, hashed);

Ready to Build Your Next API?

Flint Dart is production-ready and waiting for your ideas.