Skip to main content
The mobile application is a Flutter app targeting iOS and Android. It uses Firebase as its backend — Firestore for real-time data, Firebase Authentication for sign-in, and Firebase Storage for media — and covers the same core feature set as the web and desktop clients: cinema management, a film and series catalog, a product marketplace, and user authentication.

Prerequisites

  • Flutter SDK 3.0.0+ (Dart SDK included)
  • Android Studio or VS Code with the Flutter extension
  • A Firebase project with Authentication, Firestore, and Storage enabled
  • For iOS builds: macOS with Xcode installed

Getting started

1

Install dependencies

cd apps/mobile
flutter pub get
2

Configure Firebase

Create a Firebase project, then add Android and iOS apps to it. Place the generated configuration files in the correct locations:
  • google-services.jsonandroid/app/
  • GoogleService-Info.plistios/Runner/
In the Firebase console, enable:
  • Authentication (Email/Password and Google Sign-in)
  • Firestore Database
  • Storage
3

Run the app

flutter run
Connect a device or start an emulator before running.
Firebase configuration files are not committed to the repository. Every developer must download them from their own Firebase project.

Building for distribution

Build a release APK:
flutter build apk
Or build an App Bundle for the Play Store:
flutter build appbundle
Sign the output with your release keystore before uploading to Google Play.

Key dependencies

From pubspec.yaml (version 2.0.0+1, Dart SDK ^3.5.0):
PackageVersionPurpose
firebase_core^3.4.0Firebase initialization
firebase_auth^5.2.0User authentication
cloud_firestore^5.2.0Real-time NoSQL database
provider^7.0.0State management
http^1.2.0HTTP requests
get^5.0.0Navigation and dependency injection
cached_network_image^3.4.0Optimized image loading
shared_preferences^2.2.0Local key-value persistence
intl^0.20.0Internationalization
cupertino_icons^1.0.8iOS-style icons

Feature areas

Source code is organized under lib/ by domain:
DirectoryDescription
auth/Sign-in, sign-up, and password recovery flows
backend/schema/Firestore data model definitions
gestion_cinema/Cinema directory, detail view, editing, and showtime planning
gestio_film/Film catalog, add/edit films, categories, and actor management
gestion_series/Series display and user review interface
gestion_users/User profiles, profile editing, and admin panel
list_product_client/Product catalog for customers
list_panier/Shopping cart interface
add_product/Product management for admins
home1/ / homealll/Main home screens

Firestore collections

CollectionDescription
usersUser profiles and authentication data
cinemaCinema information (name, address, manager, status)
FilmMovie catalog with categories and metadata
serieTV series data with directors and summaries
produitProduct marketplace with pricing
cartUser-specific shopping cart items
EventEntertainment events with dates and locations
ReservationBooking records for movies and events

Running tests

flutter test
Test files live alongside source code in the standard Flutter convention (*_test.dart files under test/).

Technology stack

LayerTechnology
FrameworkFlutter (Dart SDK ^3.5.0)
BackendFirebase (Firestore, Auth, Storage)
State managementProvider 7
Navigationget 5
UI designMaterial Design
Image loadingcached_network_image
Local storageshared_preferences
HTTPhttp 1.2

Build docs developers (and LLMs) love