Welcome to Movissance, the ultimate movie recommendation app! This app helps you discover the best movies based on your preferences.
🔍 Overview • ✨ Features • 🚀 Installation • 💻 Usage • 🖥️ Tech Stack • 📱 Screenshots • 🗺️ Roadmap • 📧 Contact
Movissance helps movie enthusiasts find their next favorite film by providing personalized recommendations and comprehensive information. With an intuitive swipe interface, detailed movie pages, and cross-platform availability, Movissance transforms the way you discover movies.
- 🎯 Personalized Recommendations: Get movie suggestions based on your preferences and viewing history
- 📝 Detailed Movie Information: Comprehensive details about plot, cast, crew, ratings, and reviews
- 👍 Swipe Interface: Intuitive Tinder-like swiping to like or pass on movie recommendations
- 🔖 Favorites List: Save movies to watch later or mark as favorites
- 🔍 Advanced Search: Filter movies by genre, year, rating, and more
- 👤 User Profiles: Create and customize your profile with preferences
- 📱 Cross-Platform: Available for iOS, Android, Web, Windows, macOS, and Linux
- 🌙 Dark Mode: Eye-friendly dark theme for night viewing
- 📌 Flutter SDK (v2.0 or higher)
- 📌 Dart SDK (v2.12 or higher)
- 📌 Android Studio / VS Code with Flutter plugin
- 📌 iOS development tools (for iOS deployment)
-
Clone the repository:
git clone https://github.com/L4XB/red_line
-
Navigate to the project directory:
cd red_line -
Install dependencies:
flutter pub get
-
API Configuration:
- Create a free account at The Movie Database
- Generate an API key in your account settings
- Create a file named
api_config.dartinlib/config/with the following content:class ApiConfig { static const String apiKey = 'YOUR_API_KEY'; static const String baseUrl = 'https://api.themoviedb.org/3'; static const String imageBaseUrl = 'https://image.tmdb.org/t/p/w500'; }
- Replace
'YOUR_API_KEY'with your actual API key
After installation, run the app in debug mode:
flutter runOr build for deployment:
# For Android
flutter build apk --release
# For iOS
flutter build ios --releaseThis project requires Firebase for authentication, cloud storage, and real-time database features.
-
Create a Firebase project at Firebase Console
-
Install the FlutterFire CLI:
dart pub global activate flutterfire_cli
-
Run the configuration command from your project root:
flutterfire configure --project=your-firebase-project-id
This will generate the
firebase_options.dartfile automatically. -
Add the required Firebase configuration files to the project:
google-services.jsoninandroid/app/GoogleService-Info.plistinios/Runner/andmacos/Runner/
-
Initialize Firebase in your app by adding the following to
lib/main.dart:import 'package:firebase_core/firebase_core.dart'; import 'firebase_options.dart'; Future<void> main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform); runApp(MyApp()); }
- Home: Discover new trending and popular movies
- Swiper: Swipe right to like, left to pass on recommendations
- Search: Look for specific movies or filter by categories
- Favorites: Access your saved movies
- Profile: Customize your preferences and settings
Start the app with the following command:
flutter runSpecify a target device:
flutter run -d <device_id>Run in release mode for better performance:
flutter run --releasemovissance/
├── lib/ # Contains the app's source code
│ ├── config/ # Configuration files and constants
│ ├── models/ # Data models and state management
│ ├── screens/ # UI screens and pages
│ ├── widgets/ # Reusable UI components
│ ├── services/ # API services and business logic
│ ├── utils/ # Utility functions and helpers
│ ├── theme/ # App theme and styling
│ └── main.dart # Application entry point
├── assets/ # Contains images, animations, and other resources
│ ├── images/ # Image files
│ ├── icons/ # Icon files
│ └── animations/ # Lottie and other animation files
├── test/ # Contains test cases for the app
│ ├── unit/ # Unit tests
│ └── widget/ # Widget tests
├── ios/ # iOS platform-specific files
├── android/ # Android platform-specific files
├── web/ # Web platform-specific files
├── windows/ # Windows platform-specific files
├── macos/ # macOS platform-specific files
└── linux/ # Linux platform-specific files
Contributions are welcome! Please create a pull request or open an issue to report bugs or suggest new features.
This app is licensed under the MIT License. For more information, see the LICENSE file.
![]() |
![]() |
|
| Flutter | Firebase | TMDB API |
| UI Framework | Backend Services | Movie Data |
![]() |
![]() |
|
| Bloc | GetIt | Hive |
| State Management | Dependency Injection | Local Storage |
- AI-Powered Recommendations: Implement machine learning algorithms for better suggestions
- Social Features: Friend connections and movie recommendations
- User Reviews: Allow users to write and share their movie reviews
- Watchlist Sharing: Share curated movie lists with friends
- Movie Parties: Virtual watch parties with friends
- Offline Mode: Full functionality without internet connection
- Multiple Languages: Support for various languages
- Accessibility Features: Better support for all users












