platform/README.md

93 lines
3.2 KiB
Markdown
Raw Normal View History

# 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
1. **Maintain Laravel's Structure:** Keep the directory and component structure identical to Laravel, but adhere to Dart best practices.
2. **Ensure Modularity:** Port each Illuminate component as a separate Dart package for modular usage.
3. **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
1. **Clone the Repository:**
```bash
git clone https://github.com/yourusername/fabric-framework.git
cd fabric-framework
```
2. **Install Dependencies:**
```bash
dart pub get
```
### Usage
Fabric is structured to be as familiar as possible to Laravel developers. Heres a quick example of setting up a simple application:
1. **Create a New Dart File:**
```dart
import 'package:fabric/fabric.dart';
void main() {
final app = Application();
app.get('/', (Request req) {
return Response.ok('Hello, World!');
});
app.run();
}
```
2. **Run the Application:**
```bash
dart run
```
### Documentation
Comprehensive documentation is available to help you get started with Fabric. Visit [Fabric Documentation](https://yourdocumentationlink.com) for detailed guides, tutorials, and API references.
## Contributing
We welcome contributions from the community. If youre interested in contributing, please read our [Contributing Guide](CONTRIBUTING.md) for information on how to get started.
### Reporting Issues
If you encounter any issues or bugs, please report them on our [Issue Tracker](https://github.com/yourusername/fabric-framework/issues).
## License
Fabric is open-source software licensed under the [MIT license](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.