A modern Flutter e-book application for discovering, searching, and saving books, with Firebase authentication, real-time favorites, REST APIs, and a scalable MVVM/Clean Architecture.
Gallery
No documented highlights yet.
Problem
The main challenge was to build a fast and intuitive book discovery application capable of searching a large catalog, displaying detailed book information, and reliably synchronizing users' favorite books across sessions.
Solution
The solution was a Flutter application integrating REST APIs for book data, Firebase Authentication for secure user management, and Cloud Firestore for real-time favorite synchronization. BLoC was used to manage application state while Clean Architecture and MVVM principles kept business logic separated from the UI.
Architecture
The project uses a Feature-First architecture where major capabilities such as Authentication, Home, Search, Favorites, and Book Details are isolated into independent features. Each feature separates data access, business logic, and presentation. BLoC handles state management, GetIt provides dependency injection, and GoRouter manages navigation.
Challenges
Key challenges included handling external REST API data, managing loading and error states consistently, and keeping favorite books synchronized with Firestore. Another important challenge was maintaining a clean separation between application logic and UI while preserving a smooth user experience.
Results
The result is a complete and user-friendly e-book application offering a smooth experience for discovering, searching, and managing books. The modular MVVM and Clean Architecture structure also provides a maintainable and scalable foundation for future features.