A modern, offline-first game discovery application built with Flutter, demonstrating enterprise-grade architecture and best practices.
GameLocus is more than just a game browser — it’s a living blueprint for building scalable, maintainable, and robust Flutter applications.
Key highlights:
- Clean Architecture: Clear separation between Presentation, Domain, and Data layers.
- Offline-First: Data is always stored locally first, ensuring full functionality without internet.
- Sync Engine: Queues user actions (Commands) and syncs them when connectivity is restored.
- CQRS: Separate models and flows for reading (Queries) and writing (Commands).
- Feature-Driven Structure: High cohesion, low coupling.
- Responsive UI: Works on mobile, tablet, and desktop.
- Dual Theme: Light and dark mode.
- Multi-language: English and Persian support.
- Clean Architecture with strict separation of concerns.
- Offline-first data handling with local database.
- Background synchronization via a custom Sync Engine.
- CQRS pattern for streamlined offline/online flows.
- Responsive layouts for multiple screen sizes.
- Dark and light themes.
- Internationalization (English & Persian).
- Framework: Flutter
- Architecture: Clean Architecture + CQRS
- State Management: flutter_bloc
- Dependency Injection: get_it & injectable
- Networking: dio
- Routing: go_router
- Local Database: drift
- Code Generation: freezed, json_serializable
- Error Handling: either_dart
- Testing: bloc_test, mocktail
This project is under active development. Core features are being implemented.
- Integrate RAWG API (Games Feed)
- Add Favorites & Notes feature
- Implement Background Sync Engine
- Conflict resolution strategies
- Write Unit/Widget/Integration tests
- Setup CI/CD with GitHub Actions