flint_dart 1.0.0+6
flint_dart: ^1.0.0+6 copied to clipboard
A modern, expressive, and extensible server-side framework by Eulogia Technologies.
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 #
If you want to quickly create and run apps without adding Flint as a dependency, install it globally:
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 #
If you prefer Flint to be part of your projectโs dependencies:
dart pub add flint_dart
dart run
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);
๐ 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.