# GoRouter Modular

<div style={{textAlign: 'center', margin: '2rem 0'}}>
  <img 
    src="/go_router_modular/img/go-router-modular-banner.png" 
    alt="GoRouter Modular Banner" 
    style={{maxWidth: '100%', height: 'auto', borderRadius: '12px', boxShadow: '0 4px 12px rgba(0,0,0,0.1)'}}
  />
</div>

**Simplifying Flutter development with modular architecture 🧩**

GoRouter Modular is a powerful package that extends the capabilities of GoRouter by adding modular architecture patterns, dependency injection, event system, and much more to your Flutter applications.

## ✨ Features

- 🧩 **Modular Architecture** - Organize your app into independent, reusable modules
- 💉 **Dependency Injection** - Built-in DI system for better testability and maintainability
- 📡 **Event System** - Decoupled communication between modules
- 🛣️ **Advanced Routing** - Enhanced routing capabilities with module support
- 🔄 **State Management** - Integrated state management solutions
- 🎯 **Type Safety** - Full TypeScript/Dart type safety throughout

## 🚀 Quick Start

```bash
flutter pub add go_router_modular
```

```dart
import 'package:go_router_modular/go_router_modular.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp.router(
      routerConfig: GoRouterModular.router,
    );
  }
}
```

## 📚 Documentation

Explore our comprehensive documentation to get started:

- [Getting Started](/docs/getting-started) - Learn the basics
- [Installation](/docs/installation) - Setup instructions
- [Quick Start](/docs/quick-start) - Get up and running quickly
- [Dependency Injection](/docs/dependency-injection) - Master the DI system
- [Event System](/docs/event-system) - Understand module communication
- [Routes](/docs/routes) - Advanced routing patterns

## 🌟 Why GoRouter Modular?

Traditional Flutter apps can become complex and hard to maintain as they grow. GoRouter Modular solves this by:

- **Breaking down complexity** into manageable, independent modules
- **Improving testability** through dependency injection
- **Enhancing maintainability** with clear separation of concerns
- **Boosting developer productivity** with powerful abstractions
- **Ensuring scalability** as your app grows

## 🛠️ Built With

- [Flutter](https://flutter.dev/) - UI toolkit
- [GoRouter](https://pub.dev/packages/go_router) - Declarative routing
- [GetIt](https://pub.dev/packages/get_it) - Service locator
- [Riverpod](https://pub.dev/packages/riverpod) - State management

## 📄 License

This project is licensed under the MIT License - see the [LICENSE](https://github.com/eduardohr-muniz/go_router_modular/blob/main/LICENSE) file for details.

## 🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## 📞 Support

- 📧 Email: [your-email@example.com](mailto:your-email@example.com)
- 🐛 Issues: [GitHub Issues](https://github.com/eduardohr-muniz/go_router_modular/issues)
- 💬 Discussions: [GitHub Discussions](https://github.com/eduardohr-muniz/go_router_modular/discussions)

---

<div style={{ textAlign: 'center', marginTop: '2rem' }}>
  <a href="/docs/getting-started" style={{ 
    display: 'inline-block', 
    padding: '12px 24px', 
    backgroundColor: '#0070f3', 
    color: 'white', 
    textDecoration: 'none', 
    borderRadius: '6px',
    fontWeight: 'bold'
  }}>
    Get Started →
  </a>
</div>

