A dynamic and visually appealing movies app built using the MVVM architecture
ImDB-Movies-App
Project Owner
This project is owned and maintained by Morshed Raian Khan.
Description
The project is a movies app built with MVVM architecture. It provides a beautiful user interface to browse and search for movies, along with various features for an enhanced user experience.
Features
- MVVM Architecture: The app follows the Model-View-ViewModel architectural pattern, providing separation of concerns and improved code maintainability.
- Rest APIs using Provider: Data is fetched from RESTful APIs and managed using the Provider package for state management.
- Responsive UI: The app offers a responsive UI design that adapts to different screen sizes, including web, mobile, and tablet devices.
- Authentication: Users can authenticate using their credentials, leveraging the authentication functionality provided by the backend API.
- Frosted Glass UI: The app implements a stylish frosted glass UI effect, providing a modern and visually appealing user interface.
- Shimmer Effect: For a polished loading experience, the app utilizes a shimmer effect, displaying a skeleton animation while fetching data.
- Star Rating: Movies are presented with star ratings using the flutter_rating_bar package, allowing users to easily identify popular movies.
- Error Handling: The app efficiently handles different API response statuses, providing appropriate error messages and exception handling.
- Route Navigation: Named routes are implemented to enable seamless navigation between different screens within the app.
- Persistence: User session management is handled using the SharedPreference package, ensuring a smooth user experience across app restarts.
Installation
- Clone the repository:
git clone https://github.com/Morshed-GitHub/ImDB_Movies_App.git
- Install dependencies:
flutter pub get
- Run the app:
flutter run
GIF
Contributing
Contributions are welcome! If you have any suggestions, bug reports, or feature requests, please open an issue or submit a pull request.