Case Study & Technical Details A mobile application for managing events, rental equipment, and catering services, designed for both event professionals and individuals. Built with an **offline-first approach**, Evrent centralizes event management, rental operations, catering, payments, invoicing, and reporting in a single mobile application. ## Objectives & Challenges * Build a unified mobile solution covering multiple event-related business workflows. * Ensure core operations remain fully available without an internet connection. * Structure the application so that each business domain can evolve independently. * Handle financial information such as partial payments and remaining balances across events and orders. * Provide advanced features such as PDF invoices, analytics, notifications, and premium functionality while maintaining a clean application architecture. ## Tech Stack * **Framework**: Flutter * **Language**: Dart * **Architecture**: Feature-based Clean Architecture * **State Management**: Riverpod * **Navigation**: GoRouter * **Local Database**: SQLite (sqflite) * **Local Storage**: Shared Preferences * **UI**: Material Design 3, Google Fonts * **Charts**: fl_chart * **PDF**: pdf, printing * **Notifications**: flutter_local_notifications, timezone * **Localization**: Flutter Localization, ARB * **CI/CD**: Codemagic ## Key Features 1. **Event Management**: Create and manage events with customer information, dates, budgets, and statuses. 2. **Rental Management**: Manage rental inventory, stock levels, and rental orders associated with events. 3. **Catering Management**: Create menus and dishes and manage catering orders with per-person pricing and guest capacity. 4. **Payment Tracking**: Handle partial payments and track paid amounts and remaining balances. 5. **PDF Invoices**: Generate invoices from events, rental orders, and catering orders. 6. **Reports & Analytics**: Monitor revenue, inventory utilization, and top-performing items. 7. **Dashboard**: View activity summaries, upcoming events, quick actions, and revenue charts. 8. **Local Notifications**: Receive reminders for upcoming events, equipment returns, and low-stock items. 9. **Offline-First**: Store core application data locally in SQLite, allowing the application to operate without an internet connection. 10. **Multilingual Interface**: Support English, French, and German. 11. **Themes & Customization**: Provide light and dark modes with customizable primary colors. 12. **Premium Features**: Integrate premium functionality and in-app purchases. ```dart // Feature-based structure lib/ ├── features/ │ ├── events/ │ ├── rentals/ │ ├── catering/ │ ├── reports/ │ └── invoice/ ``` Each major feature follows a `domain → data → presentation` structure, keeping business logic, data access, and UI concerns separated. Loading project details... All Projects Visit Live Project