.github | ||
.vscode | ||
config | ||
docs | ||
example | ||
packages | ||
scripts | ||
stubs | ||
test | ||
tool | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.publishable | ||
.toolversion | ||
analysis_options.yaml | ||
AUTHORS.md | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
design.draft | ||
devbox.json | ||
devbox.lock | ||
LICENSE.md | ||
melos.yaml | ||
pubspec.yaml | ||
README.md | ||
SECURITY.md | ||
VFF_VERSION |
Fabric Framework
Welcome to the Fabric Framework, a comprehensive port of Laravel's Illuminate components to Dart. Fabric aims to provide a robust, scalable, and feature-rich framework for building modern web applications using Dart.
Overview
Fabric is designed to mirror Laravel's Illuminate components, ensuring a familiar structure for developers accustomed to Laravel while leveraging Dart's modern language features. The framework consists of various packages that collectively offer a complete solution for web development.
Goals
- Maintain Laravel's Structure: Keep the directory and component structure identical to Laravel, but adhere to Dart best practices.
- Ensure Modularity: Port each Illuminate component as a separate Dart package for modular usage.
- Enable Rapid Development: Provide a running base application quickly to facilitate real-time testing and development.
Key Features
- Modular Packages: Each Illuminate component is available as a standalone Dart package.
- Comprehensive Routing: Powerful routing capabilities inspired by Laravel.
- Dependency Injection: Built-in support for dependency injection to promote loose coupling.
- Middleware Support: Use middleware for filtering HTTP requests entering your application.
- Authentication & Authorization: Robust tools for user authentication and authorization.
- Database Abstraction: Database-agnostic query builder and ORM.
- Queueing System: Manage background tasks and queues.
- Event Broadcasting: Real-time event broadcasting for modern applications.
Getting Started
Prerequisites
- Dart 3.0 or higher
- A basic understanding of Dart and Laravel
Installation
-
Clone the Repository:
git clone https://github.com/yourusername/fabric-framework.git cd fabric-framework
-
Install Dependencies:
dart pub get
Usage
Fabric is structured to be as familiar as possible to Laravel developers. Here’s a quick example of setting up a simple application:
-
Create a New Dart File:
import 'package:fabric/fabric.dart'; void main() { final app = Application(); app.get('/', (Request req) { return Response.ok('Hello, World!'); }); app.run(); }
-
Run the Application:
dart run
Documentation
Comprehensive documentation is available to help you get started with Fabric. Visit Fabric Documentation for detailed guides, tutorials, and API references.
Contributing
We welcome contributions from the community. If you’re interested in contributing, please read our Contributing Guide for information on how to get started.
Reporting Issues
If you encounter any issues or bugs, please report them on our Issue Tracker.
License
Fabric is open-source software licensed under the MIT license.
Acknowledgements
Fabric is inspired by Laravel, and we extend our gratitude to the Laravel community for their continuous efforts in building and maintaining an excellent PHP framework.