flint_dart 1.0.0+25
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.
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.