A comprehensive entertainment and cinema management Flutter application built with FlutterFlow. Rakcha combines cinema management, film catalog, product marketplace, and user management in a single mobile platform.
Rakcha is a multi-feature mobile application that serves as:
- Cinema Management System: Manage cinemas, theaters, showtimes, and reservations
- Film & Series Catalog: Browse, search, and manage movies and TV series
- E-commerce Platform: Product marketplace with shopping cart functionality
- User Management: Authentication, profiles, and user administration
- Cinema Directory: Browse and search cinemas by location and amenities
- Theater Management: Manage theater halls (salles) with seating capacity
- Showtime Scheduling: Create and manage movie showtimes (séances)
- Reservations: Book tickets with seat selection and capacity management
- Film Catalog: Comprehensive movie database with categories and actors
- Series Management: TV series with summaries, directors, and country information
- Categories: Organize content by genres and themes
- Actor Management: Maintain actor profiles and filmographies
- Reviews & Ratings: User reviews and rating system
- Product Catalog: Browse products with categories and descriptions
- Shopping Cart: Add items, manage quantities, and calculate totals
- Product Management: Admin interface for product CRUD operations
- Category Management: Organize products by categories
- Authentication: Sign up, sign in, and password recovery
- User Profiles: Manage personal information and preferences
- Admin Panel: Administrative interface for user management
- Favorites: Save favorite events and content
- Event Creation: Create and manage entertainment events
- Event Suggestions: AI-powered event recommendations
- Reservation System: Book events with capacity management
- Event Categories: Organize events by type and theme
- Firestore Database: Real-time NoSQL database for all data
- Firebase Authentication: Secure user authentication and authorization
- Firebase Storage: Image and file storage for media content
- Firebase Analytics: User behavior tracking and analytics
- Users: User profiles with authentication data
- Cinema: Cinema information (name, address, status, manager)
- Salle: Theater halls with capacity and cinema associations
- Film: Movie information with categories, actors, and metadata
- Serie: TV series data with directors and summaries
- Seance: Showtimes linking films, cinemas, and schedules
- Produit: Product catalog with pricing and inventory
- Cart: Shopping cart items with user associations
- Event: Entertainment events with dates and locations
- Review: User reviews and ratings for content
- Reservation: Booking system for events and movies
- FlutterFlow: Visual development platform for rapid prototyping
- Material Design: Modern UI/UX following Material Design principles
- Responsive Design: Optimized for various screen sizes
- Real-time Updates: Live data synchronization with Firestore
lib/
├── auth/ # Authentication logic
├── backend/ # Firebase backend integration
│ ├── schema/ # Firestore data models
│ └── firebase/ # Firebase services
├── flutter_flow/ # FlutterFlow framework components
├── gestion_cinema/ # Cinema management features
│ ├── cinema_list_user/ # Cinema browsing interface
│ ├── cinema_details/ # Cinema detail view
│ ├── edit_cinema/ # Cinema editing interface
│ └── planning_interface/ # Showtime planning
├── gestio_film/ # Film management features
│ ├── add_film/ # Add new films
│ ├── listof_films/ # Film catalog
│ ├── update_film/ # Edit film information
│ └── add_category/ # Category management
├── gestion_series/ # Series management
│ ├── serieaffichage/ # Series display
│ └── reviewaffichage/ # Review interface
├── gestion_users/ # User management
│ ├── auth3/ # Authentication UI
│ ├── profile/ # User profiles
│ ├── edit/ # Profile editing
│ └── forgot_password01/ # Password recovery
├── home1/ # Main home screen
├── homealll/ # Alternative home interface
├── list_product_client/ # Product catalog for customers
├── list_panier/ # Shopping cart interface
├── add_product/ # Product management
└── main.dart # Application entry point
- Flutter SDK (>=3.0.0)
- Dart SDK
- Android Studio / VS Code
- Firebase account
- FlutterFlow account (optional for modifications)
-
Clone the repository
git clone https://github.com/yourusername/rakcha-mobile.git cd rakcha-mobile
-
Install dependencies
flutter pub get
-
Firebase Setup
- Create a new Firebase project
- Add Android/iOS apps to your project
- Download configuration files:
google-services.json
for Android (place inandroid/app/
)GoogleService-Info.plist
for iOS (place inios/Runner/
)
-
Configure Firebase
- Enable Authentication (Email/Password, Google Sign-in)
- Set up Firestore Database
- Configure Storage rules
- Enable Analytics (optional)
-
Run the application
flutter run
Update your Firestore security rules:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
// Users can read/write their own data
match /users/{userId} {
allow read, write: if request.auth != null && request.auth.uid == userId;
}
// Public read access for cinemas, films, and products
match /cinema/{document} {
allow read: if true;
allow write: if request.auth != null;
}
match /Film/{document} {
allow read: if true;
allow write: if request.auth != null;
}
match /produit/{document} {
allow read: if true;
allow write: if request.auth != null;
}
// Cart items are user-specific
match /cart/{document} {
allow read, write: if request.auth != null;
}
}
}
flutter
: Cross-platform mobile frameworkfirebase_core
: Firebase core functionalitycloud_firestore
: Firestore database integrationfirebase_auth
: Authentication servicesfirebase_storage
: File storage services
google_fonts
: Custom typographyfont_awesome_flutter
: Icon librarycached_network_image
: Optimized image loadingflutter_rating_bar
: Rating componentsbadges
: Notification badges
go_router
: Advanced routingprovider
: State managementflutter_animate
: Smooth animations
image_picker
: Camera and gallery accessfile_picker
: File selectiongoogle_sign_in
: Google authenticationtext_search
: Search functionalityfloating_bottom_navigation_bar
: Custom navigation
- Navigate to Cinema Management
- Tap "Add Cinema"
- Fill in cinema details (name, address, manager, status)
- Upload cinema image
- Save to add to the database
- Browse cinema list
- Select a cinema
- Choose available showtime
- Select number of seats
- Confirm reservation
- Access Admin Panel
- Navigate to Product Management
- Add new products with categories
- Set pricing and inventory
- Manage product images and descriptions
This project was initially built using FlutterFlow, which provides:
- Visual UI builder
- Firebase integration
- Automatic code generation
- Custom actions and functions
To modify the app:
- Import the project into FlutterFlow (if you have access)
- Make visual changes using the FlutterFlow editor
- Export updated code
- Merge with your local repository
For manual development without FlutterFlow:
- Use the generated code as a foundation
- Modify widgets in the respective files
- Update models in the
backend/schema/
directory - Test changes using
flutter run
users
: User profiles and authentication datacinema
: Cinema information and managementFilm
: Movie catalog with metadataserie
: TV series informationproduit
: Product marketplace datacart
: Shopping cart itemsEvent
: Entertainment eventsReservation
: Booking and reservation data
- Films are linked to categories and actors
- Cinemas have multiple theater halls (salles)
- Showtimes (séances) link films to specific times and theaters
- Cart items reference products and users
- Reviews are associated with films/series
- Build APK:
flutter build apk
- Build App Bundle:
flutter build appbundle
- Sign with release keystore
- Upload to Google Play Store
- Build iOS:
flutter build ios
- Open
ios/Runner.xcworkspace
in Xcode - Configure signing and certificates
- Archive and upload to App Store Connect
- Fork the repository
- Create a feature branch (
git checkout -b feature/new-feature
) - Commit your changes (
git commit -am 'Add new feature'
) - Push to the branch (
git push origin feature/new-feature
) - Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Flutter and FlutterFlow
- Backend powered by Firebase
- UI components from Material Design
- Icons from Font Awesome
For support and questions:
- Create an issue in this repository
- Contact the development team
- Check the FlutterFlow documentation for UI modifications
Rakcha - Your all-in-one entertainment and cinema management platform! 🎬✨