flint_dart 1.0.0+25 copy "flint_dart: ^1.0.0+25" to clipboard
flint_dart: ^1.0.0+25 copied to clipboard

A modern, expressive, and extensible server-side framework by Eulogia Technologies.

Perfect! Here’s a fully updated README.md for Flint Dart with a polished contributors section added at the end. I’ve also cleaned up minor formatting issues so it’s consistent and professional.

All Contributors


Flint Dart 🔥 #

🚀 Flint Dart #

Flint Dart is a high-performance, expressive, and extensible server-side framework built entirely with Dart. Designed for developers who demand speed and simplicity, it delivers everything you need to build RESTful APIs, authentication systems, and scalable backend services — all with clean, modern syntax and hot-reload precision.

Build fast. Scale effortlessly. Flint Dart gives you the freedom to create powerful applications without the limits of rigid frameworks.

Developed and maintained by Eulogia Technologies.


📚 Table of Contents #

Topic Description
🚀 Getting Started Set up Flint in your project
🛣️ Routing Define routes for your Flint Dart app
🛡 Middleware Protect and modify requests with middleware
🗄 ORM & Models Work with databases using Flint Dart ORM
💾 Database & Migrations Manage your database schema and migrations
🔑 Authentication Built-in authentication and Google Auth support
✅ Validation Validate input like Laravel
♻️ Hot Reload Instant feedback while developing
💾 Storage Storage Flint Dart to production
🚢 Deployment Deploy Flint Dart to production
📖 API Docs Best-in-class API documentation with Swagger UI

✨ Features #

  • 🧱 Simple and intuitive routing
  • 🛡️ Middleware support
  • 🔐 Built-in JWT authentication
  • 🔒 Secure password hashing
  • ♻️ Hot reload support for rapid development
  • 🧪 Modular structure for scalable projects
  • 💡 Clean API design inspired by Flutter's widget philosophy
  • ORM for MySQL/Postgres
  • CLI for migrations, models, etc.
  • Swagger docs

🚀 Getting Started #

1. Install as a Global Package #

dart pub global activate flint_dart
flint create new_app   # Create a new Flint project
flint run              # Run the project

2. Add as a Project Dependency #

dart pub add flint_dart
import 'package:flint_dart/flint_dart.dart';

void main() {
  final app = Flint();

  app.get('/', (req, res) async {
    return res.send('Welcome to Flint Dart!');
  });

  app.listen(3000);
}

3. Run with Hot Reload #

app.get('/hello', (req, res) async {
  return res.json({'message': 'Hello, world!'});
});

Middleware #

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 || token != "expected_token") {
        return res.status(401).send("Unauthorized");
      }
      return await next(req, res);
    };
  }
}
app.put('/:id', AuthMiddleware().handle(controller.update));

JWT Authentication #

final token = JwtUtil.generateToken({'userId': 123});
final payload = JwtUtil.verifyToken(token);

Password Hashing #

final hash = Hashing.hashPassword('mySecret');
final isValid = Hashing.verifyPassword('mySecret', hash);

🧩 WebSocket System #

🔁 Socket.IO–like API #

app.ws('/chat', (socket, params) {
  socket.on('message', (data) {
    Log.debug('💬 ${socket.id} says: $data');
    socket.broadcastToRoom('chat', {'event': 'message', 'data': data});
  });
});

Client-side:

final ws = FlintWebSocketClient("wss://api.example.com/chat");
ws.on('message', (data) => Log.debug("📩 $data"));
ws.emit('message', {'text': 'Hello World'});

💬 Core Features #

  • .emit(event, data) → Send named events easily
  • .on(event, callback) → Listen for specific events
  • .onMessage() and .onJsonMessage() remain supported for backward compatibility
  • .join(room) and .leave(room) for group messaging
  • .broadcast() and .broadcastToRoom() for real-time updates
  • Auto Reconnect on the client when connection drops
  • JWT Support using the same middleware chain as HTTP routes
  • Auth Middleware now works for WebSockets too

📁 Project Structure #

lib/
├── main.dart
├── src/
│   ├── app.dart
│   ├── router.dart
│   ├── request.dart
│   ├── response.dart
│   ├── middleware.dart
│   └── security/
│       ├── jwt_util.dart
│       └── hashing.dart

📮 Contact & Support #

🌐 Website: flintdart.eulogia.net 📧 Email: eulogiatechnologies@gmail.com 🐙 GitHub: github.com/eulogiatechnologies/flint_dart


🛠 Contributing #

We welcome contributions! To get started:

git clone https://github.com/eulogiatechnologies/flint_dart.git
cd flint_dart
dart pub get

Then feel free to submit issues or pull requests.


👥 Contributors #

Made with ❤️ by the Flint Dart community.

Contributors ✨ #

9
likes
150
points
11
downloads

Publisher

verified publisherflintdart.eulogia.net

Weekly Downloads

A modern, expressive, and extensible server-side framework by Eulogia Technologies.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

args, bcrypt, crypto, dart_jsonwebtoken, flint_client, mailer, mime, mysql_dart, package_config, path, postgres, universal_web, uuid, worker_manager

More

Packages that depend on flint_dart