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
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.json→android/app/GoogleService-Info.plist→ios/Runner/
- Authentication (Email/Password and Google Sign-in)
- Firestore Database
- Storage
Firebase configuration files are not committed to the repository. Every developer must download them from their own Firebase project.
Building for distribution
- Android
- iOS
Build a release APK:Or build an App Bundle for the Play Store:Sign the output with your release keystore before uploading to Google Play.
Key dependencies
Frompubspec.yaml (version 2.0.0+1, Dart SDK ^3.5.0):
| Package | Version | Purpose |
|---|---|---|
firebase_core | ^3.4.0 | Firebase initialization |
firebase_auth | ^5.2.0 | User authentication |
cloud_firestore | ^5.2.0 | Real-time NoSQL database |
provider | ^7.0.0 | State management |
http | ^1.2.0 | HTTP requests |
get | ^5.0.0 | Navigation and dependency injection |
cached_network_image | ^3.4.0 | Optimized image loading |
shared_preferences | ^2.2.0 | Local key-value persistence |
intl | ^0.20.0 | Internationalization |
cupertino_icons | ^1.0.8 | iOS-style icons |
Feature areas
Source code is organized underlib/ by domain:
| Directory | Description |
|---|---|
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
| Collection | Description |
|---|---|
users | User profiles and authentication data |
cinema | Cinema information (name, address, manager, status) |
Film | Movie catalog with categories and metadata |
serie | TV series data with directors and summaries |
produit | Product marketplace with pricing |
cart | User-specific shopping cart items |
Event | Entertainment events with dates and locations |
Reservation | Booking records for movies and events |
Running tests
*_test.dart files under test/).
Technology stack
| Layer | Technology |
|---|---|
| Framework | Flutter (Dart SDK ^3.5.0) |
| Backend | Firebase (Firestore, Auth, Storage) |
| State management | Provider 7 |
| Navigation | get 5 |
| UI design | Material Design |
| Image loading | cached_network_image |
| Local storage | shared_preferences |
| HTTP | http 1.2 |