The Protevus Platform: Unified Full-Stack Development https://protevus.com
Find a file
2024-06-21 14:49:49 -07:00
.github add: adding project structure 2024-06-09 19:25:12 -07:00
.vscode update: updating readme and correcting code in application.dart add cody 2024-06-18 16:00:33 -07:00
config add: adding project structure 2024-06-09 19:25:12 -07:00
docs add: adding project structure 2024-06-09 19:25:12 -07:00
example add: adding project structure 2024-06-09 19:25:12 -07:00
packages add: adding ports from the symfony project 2024-06-21 14:49:49 -07:00
scripts add: adding project structure 2024-06-09 19:25:12 -07:00
stubs add: adding project structure 2024-06-09 19:25:12 -07:00
test add: adding project structure 2024-06-09 19:25:12 -07:00
tool add: adding project structure 2024-06-09 19:25:12 -07:00
.editorconfig add: adding project structure 2024-06-09 19:25:12 -07:00
.gitattributes add: adding project structure 2024-06-09 19:25:12 -07:00
.gitignore update: reset of repo updating .gitignore 2024-06-13 19:33:27 -07:00
.publishable add: adding project structure 2024-06-09 19:25:12 -07:00
.toolversion add: adding project structure 2024-06-09 19:25:12 -07:00
analysis_options.yaml add: adding lint options 2024-06-09 19:29:13 -07:00
AUTHORS.md add: adding project structure 2024-06-09 19:25:12 -07:00
CHANGELOG.md add: adding project structure 2024-06-09 19:25:12 -07:00
CODE_OF_CONDUCT.md add: adding project structure 2024-06-09 19:25:12 -07:00
CONTRIBUTING.md add: adding project structure 2024-06-09 19:25:12 -07:00
design.draft add: adding ports from the symfony project 2024-06-21 14:49:49 -07:00
devbox.json add: adding project structure 2024-06-09 19:25:12 -07:00
devbox.lock add: adding project structure 2024-06-09 19:25:12 -07:00
LICENSE.md add: adding project template packages and supporting files 2024-06-13 21:29:41 -07:00
melos.yaml add: adding project template packages and supporting files 2024-06-13 21:29:41 -07:00
pubspec.yaml update: updating files with ported code 2024-06-15 15:59:23 -07:00
README.md update: updating readme and correcting code in application.dart add cody 2024-06-18 16:00:33 -07:00
SECURITY.md add: adding project structure 2024-06-09 19:25:12 -07:00
VFF_VERSION add: adding project structure 2024-06-09 19:25:12 -07:00

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:

    git clone https://github.com/yourusername/fabric-framework.git
    cd fabric-framework
    
  2. Install Dependencies:

    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:

    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:

    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 youre 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.