Your personal gateway to the world of cinema.
Discover movies, explore details, and curate your favorites — all in one elegant Flutter experience.
CinemaX is a modern Flutter movies application crafted to deliver a smooth, engaging, and intuitive movie-browsing experience.
It allows users to discover trending titles, search for movies instantly, and curate a personalized favorites list — all while maintaining a clean and scalable codebase.
CinemaX is built with a strong focus on user experience, code quality, and long-term maintainability.
Supports Arabic (RTL) and English with seamless language switching.
- Clean and intuitive user interface
- Scalable architecture using Clean Architecture + MVVM
- Predictable and testable state management with BLoC
- Local data persistence using Hive
- Easy to extend and maintain
- Localization support (Arabic / English)
- User registration and login
- Password reset
- Update user profile
- Browse popular and trending movies
- Search movies in real time via REST APIs
- View detailed movie information
- Add and remove movies from favorites
- Persist user preferences locally using Hive
- Full localization support (Arabic / English)
- RTL support for Arabic layouts
- Smooth in-app language switching
- Powered by Intl + Flutter Gen
- Clean Architecture (Presentation / Domain / Data layers)
- MVVM in Presentation layer (Views + ViewModels)
- BLoC for predictable, testable state management
- Dependency Injection for scalable modularity
- Repository Pattern + Use Cases for clean separation
- Modular and maintainable codebase
| Technology | Purpose |
|---|---|
| Flutter (Dart) | Cross-platform UI |
| BLoC | State management |
| Clean Architecture | Scalable, maintainable project structure |
| MVVM | Presentation structure (Views + ViewModels) |
| REST API | Movies data |
| HTTP | Networking |
| Hive | Local data persistence |
| Flutter Gen + Intl | Localization (AR/EN) + typed strings |