Skip to content

This repository contains the code for a cinema application developed for the Software Development II course at the Faculty of Information Technologies. The app is built with .NET for the backend and Flutter for the frontend, featuring a mobile version for users and a desktop version for admins.

License

Notifications You must be signed in to change notification settings

NedzmijaMuminovic/CinemaNow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CinemaNow

This repository contains the code for a cinema app developed as part of the Software Development II course at the Faculty of Information Technologies.

Overview

  • Backend: Developed using .NET, providing a comprehensive API for managing cinema-related data.
  • Frontend: Built with Flutter, with separate interfaces for desktop (admin) and mobile (user) applications.

Getting Started

To get the app up and running, follow these steps:

  1. Clone the repository:

    git clone https://github.com/NedzmijaMuminovic/CinemaNow
  2. Configure Environment Variables:

    • Set up your Stripe Secret key and email app password in your environment with one of these commands:

      # Command Prompt
      set STRIPE_SECRET_KEY=YourSecretKey
      set EMAIL_PASSWORD=YourEmailAppPassword
      
      # PowerShell
      $env:STRIPE_SECRET_KEY = "YourSecretKey"
      $env:EMAIL_PASSWORD = "YourEmailAppPassword"
    • Alternatively, use .env files:

      • For the backend, place the .env file in CinemaNow/CinemaNow.
      • For the frontend (mobile app), place it in CinemaNow/CinemaNow/UI/cinemanow_mobile/assets.
  3. Run the backend and services using Docker:

    • In the project's root directory (CinemaNow/CinemaNow), use the following command:

      docker-compose up --build
  4. Run the frontend:

    • For Desktop:

      • Open the Flutter project in Visual Studio Code (CinemaNow/CinemaNow/UI/cinemanow_desktop).

      • Install the necessary dependencies:

        dart pub get
      • Run the Flutter app for Windows:

        flutter run -d windows
    • For Mobile:

      • Open the Flutter project in Visual Studio Code (CinemaNow/CinemaNow/UI/cinemanow_mobile).

      • Install the necessary dependencies:

        dart pub get
      • Connect a physical device or start an emulator.

      • Run the Flutter app for mobile:

        • For an emulator (if you have an .env file configured):

          flutter run
        • For a physical device (replacing 192.168.x.x with your device's IP address):

          flutter run --dart-define=API_HOST=192.168.x.x
        • Or, if you prefer to specify your Stripe Publishable Key directly, use:

          flutter run --dart-define=STRIPE_PUBLISHABLE_KEY=YourPublishableKey

Login Credentials

  • Admin (Desktop app):

    • Username: desktop
    • Password: test
  • User (Mobile app):

    • Username: mobile
    • Password: test

Payment Information (for Stripe Testing)

Use the following information for testing Stripe payments:

  • Card Number: 4242 4242 4242 4242
  • Expiration Date: Any future date
  • CVC: Any three-digit number
  • ZIP Code: Any five-digit number

Additional Notes

  • Email Notifications: The app uses RabbitMQ to send an email after successful user registration.
  • Recommender System: A content-based recommender system is implemented on the movie details screen to display similar movies based on the selected title's attributes.
  • Seed Data: The seed data includes only 2 sample images to speed up the docker-compose up process.

Screenshots

Desktop Screenshots Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5 Screenshot 6 Screenshot 7 Screenshot 8 Screenshot 9 Screenshot 10 Screenshot 11 Screenshot 12 Screenshot 13 Screenshot 14 Screenshot 15
Mobile Screenshots Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5 Screenshot 6 Screenshot 7 Screenshot 8 Screenshot 9 Screenshot 10 Screenshot 11 Screenshot 12 Screenshot 13 Screenshot 14

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

This repository contains the code for a cinema application developed for the Software Development II course at the Faculty of Information Technologies. The app is built with .NET for the backend and Flutter for the frontend, featuring a mobile version for users and a desktop version for admins.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published