SkillAgentSearch skills...

Movissance

Discover personalized movie recommendations with Movissance – a cross-platform app built with Flutter for all your movie discovery needs!

Install / Use

/learn @L4XB/Movissance

README

<div align="center">

🎬 Movissance - Movie Recommendation App 🎬

Flutter Dart Firebase License: MIT Version Status

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

</div>

🔍 Overview

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.

✨ Features

<div align="center"> <img src="assets/readme/features_diagram.png" alt="Features Diagram" width="80%"/> </div>
  • 🎯 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

🚀 Installation

Prerequisites

  • 📌 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)

Steps

  1. Clone the repository:

    git clone https://github.com/L4XB/red_line
    
  2. Navigate to the project directory:

    cd red_line
    
  3. Install dependencies:

    flutter pub get
    
  4. API Configuration:

    • Create a free account at The Movie Database
    • Generate an API key in your account settings
    • Create a file named api_config.dart in lib/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

Quick Start

After installation, run the app in debug mode:

flutter run

Or build for deployment:

# For Android
flutter build apk --release

# For iOS
flutter build ios --release

🔥 Firebase Setup

<div align="center"> <img src="https://firebase.google.com/images/social.png" alt="Firebase" width="300"/> </div>

This project requires Firebase for authentication, cloud storage, and real-time database features.

Setup Steps

  1. Create a Firebase project at Firebase Console

  2. Install the FlutterFire CLI:

    dart pub global activate flutterfire_cli
    
  3. Run the configuration command from your project root:

    flutterfire configure --project=your-firebase-project-id
    

    This will generate the firebase_options.dart file automatically.

  4. Add the required Firebase configuration files to the project:

    • google-services.json in android/app/
    • GoogleService-Info.plist in ios/Runner/ and macos/Runner/
  5. 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());
    }
    

💻 Usage

<div align="center"> <img src="assets/readme/app_usage.gif" alt="App Usage Demo" width="300"/> </div>

Basic Navigation

  • 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

Commands

Start the app with the following command:

flutter run

Specify a target device:

flutter run -d <device_id>

Run in release mode for better performance:

flutter run --release

📁 Folder Structure

movissance/
├── 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

👥 Contributing

Contributions are welcome! Please create a pull request or open an issue to report bugs or suggest new features.

<div align="center">

PRs Welcome Open Issues

</div>

📃 License

This app is licensed under the MIT License. For more information, see the LICENSE file.

📱 Screenshots

<div align="center"> <table> <tr> <td align="center"> <img src="assets/readme/home_screen.png" alt="Home Screen" width="250"/><br> <b>Home Screen</b> <p>Browse trending and popular movies</p> </td> <td align="center"> <img src="assets/readme/favourites_screen.png" alt="Favourites Screen" width="250"/><br> <b>Favourites Screen</b> <p>Access your saved movies</p> </td> <td align="center"> <img src="assets/readme/movie_details_screen.png" alt="Movie Details Screen" width="250"/><br> <b>Movie Details Screen</b> <p>View comprehensive movie information</p> </td> </tr> <tr> <td align="center"> <img src="assets/readme/profile_screen.png" alt="Profile Screen" width="250"/><br> <b>Profile Screen</b> <p>Manage your preferences and account</p> </td> <td align="center"> <img src="assets/readme/swiper_screen.png" alt="Swiper Screen" width="250"/><br> <b>Swiper Screen</b> <p>Swipe to like or pass on recommendations</p> </td> <td align="center"> <img src="assets/readme/search_screen.png" alt="Search Screen" width="250"/><br> <b>Search Screen</b> <p>Find specific movies with advanced filters</p> </td> </tr> </table> </div>

🖥️ Tech Stack

<div align="center"> <table> <tr> <td align="center"><img src="https://raw.githubusercontent.com/flutter/website/master/src/_assets/image/flutter-lockup.png" height="70px" alt="Flutter"/></td> <td align="center"><img src="https://firebase.google.com/downloads/brand-guidelines/PNG/logo-logomark.png" height="70px" alt="Firebase"/></td> <td align="center"><img src="https://www.themoviedb.org/assets/2/v4/logos/v2/blue_square_2-d537fb228cf3ded904ef09b136fe3fec72548ebc1fea3fbbd1ad9e36364db38b.svg" height="70px" alt="TMDB API"/></td> </tr> <tr> <td align="center"><b>Flutter</b></td> <td align="center"><b>Firebase</b></td> <td align="center"><b>TMDB API</b></td> </tr> <tr> <td align="center">UI Framework</td> <td align="center">Backend Services</td> <td align="center">Movie Data</td> </tr> </table> <table> <tr> <td align="center"><img src="https://raw.githubusercontent.com/fluttercommunity/flutter_bloc/master/docs/assets/bloc_logo_full.png" height="50px" alt="Bloc"/></td> <td align="center"><img src="https://avatars.githubusercontent.com/u/1302593?s=200&v=4" height="50px" alt="GetIt"/></td> <td align="center"><img src="https://user-images.githubusercontent.com/1295961/45949308-cbb2f680-bffb-11e8-8054-28c35ed6d132.png" height="50px" alt="Hive"/></td> </tr> <tr> <td align="center"><b>Bloc</b></td> <td align="center"><b>GetIt</b></td> <td align="center"><b>Hive</b></td>
View on GitHub
GitHub Stars4
CategoryData
Updated3mo ago
Forks1

Languages

Dart

Security Score

72/100

Audited on Dec 4, 2025

No findings