# A simplified Real Movie Booking App 🎬 [🍿](https://www.youtube.com/@CHUNGCINE?sub_confirmation=1) - Built with Flutter, Clean Template, BLoC, REST API, Firebase Auth, and Unit-Tests. > I’ve open-sourced this project to showcase some of my skills and to help early-career Flutter developers grow in their career. > > Like ["Nezha: Birth Of The Demon Child"](https://www.youtube.com/watch?v=xdOgym7MLAU), I believe that for those just starting out in Flutter, completing this project might be a challenge. However, once you get through it, you’ll either succeed and grow stronger. (Không thành công cũng thành nhân) (失败也是成功) > > I’ll also support so feel free to start with new issue if you have difficulty because I know it’s not as easy for everyone. :muscle: > > If you want to support me, help me sub my YouTube channel [CHUNGCINE](https://www.youtube.com/@CHUNGCINE?sub_confirmation=1). Thank you so much <3 ## Happy new year 2025 🎉 2025 kicks off with AI evolving at an incredible pace, but also brings a wave of layoffs in the IT industry. Don’t be too afraid! This is not the end—stay patient, keep learning, and wait for the right moment. And what could be better than starting a new project to kick off the year?
| Screen | Preview | Screen | Preview |
|---|---|---|---|
| Begin Screen | ![]() |
Get Start Screen | ![]() |
| Home Screen | ![]() |
Movie Screen | ![]() |
| Login Screen | ![]() |
Register Screen | ![]() |
| All Movie Screen | ![]() |
About Screen | ![]() |
| Booking Time | ![]() |
Booking Seat Type | ![]() |
| Booking Slot | ![]() |
Tickets Screen | ![]() |
| Category | Library | Description | Logo |
|---|---|---|---|
| Framework | Flutter | Flutter makes it easy and fast to build beautiful apps for mobile and beyond. | |
| Language | Dart | The Dart SDK, including the VM, JS and Wasm compilers, analysis, core libraries, and more. | |
| Authentication | Firebase Auth | Handles user authentication. | |
| Google Sign-In | Enables login via Google accounts. | ||
| State Management | Flutter BLoC | A predictable state management library that helps implement the BLoC design pattern. | |
| Hydrated BLoC | hydrated_bloc exports a Storage interface which means it can work with any storage provider. Out of the box, it comes with its own implementation: HydratedStorage. | ||
| Equatable | A Dart package that helps to implement value based equality without needing to explicitly override == and hashCode. | ||
| Support State Management | dartz | Dartz is a functional programming (FP) library for Dart, providing immutable data structures, type classes, monads, and tools inspired by Haskell. | |
| Dependency Injection | Get It | Get It - Simple direct Service Locator that allows to decouple the interface from a concrete implementation and to access the concrete implementation from everywhere in your App. | |
| Database & Storage | Cloud Firestore | Provides a NoSQL real-time database. | |
| Shared Preferences | Wraps platform-specific persistent storage for simple data (NSUserDefaults on iOS and macOS, SharedPreferences on Android, etc.). Data may be persisted to disk asynchronously, and there is no guarantee that writes will be persisted to disk after returning, so this plugin must not be used for storing critical data. | ||
| Sqflite | Local SQLite database for persistent data. | ||
| Networking & API | Dio | A powerful HTTP client for Dart and Flutter, which supports global settings, Interceptors, FormData, aborting and canceling a request, files uploading and downloading, requests timeout, custom adapters, etc. | |
| Retrofit | retrofit.dart is an dio client generator using source_gen and inspired by Chopper and Retrofit. | ||
| UI & Effects | Flutter SVG | Draw SVG files and Render SVG images in Flutter. | |
| Shimmer | A package provides an easy way to add shimmer effect in Flutter project by Vietnamese Developer. | ||
| Carousel Slider | A flutter carousel widget, support infinite scroll, and custom child widget.. | ||
| Dotted Border | A Flutter package to easily add dashed borders around widgets. | ||
| Code Generation | Json Serializable | Generates utilities to aid in serializing to/from JSON. | |
| Freezed | Code generation for immutable classes that has a simple syntax/API without compromising on the features. | ||
| retrofit_generator | retrofit.dart is an dio client generator using source_gen and inspired by Chopper and Retrofit. | ||
| Navigation | Go Router | A declarative routing package for Flutter that uses the Router API to provide a convenient, url-based API for navigating between different screens. You can define URL patterns, navigate using a URL, handle deep links, and a number of other navigation-related scenarios. | |
| Video & Multimedia | YouTube Player Flutter | A Flutter plugin for inline playback or streaming of YouTube videos using the official iFrame Player API. | |
| Google Maps | Google Maps Flutter | A Flutter plugin that provides a Google Maps widget. Displays Cinema locations on maps. | |
| App Icons | Flutter Launcher Icons | A package which simplifies the task of updating your Flutter app's launcher icon. Fully flexible, allowing you to choose what platform you wish to update the launcher icon for and if you want, the option to keep your old launcher icon in case you want to revert back sometime in the future. |