Skip to content

Cinema ticket reservation system, built using laravel.

Notifications You must be signed in to change notification settings

ziadabdo98/Cinemat

Repository files navigation

Cinemat Logo

About Project

Cinemat is a ticket reservation system developed using Laravel 8. It has features like user roles, authentication, automated reservations, and much more. See the live demo here.

What I learned

  • Routing basics
  • MVC architecture
  • Blade templating language
  • Middlewares
  • Authentication and authorization basics
  • Relational databases (MySQL)
  • Database migrations
  • Eloquent ORM
  • Database CRUD operations
  • HTML, CSS, JS
  • Alpine.js
  • File uploads
  • Searching and filtering through models

Usage

You can find a link to the website here. The website has some movies already created, but you can log in as a manager and edit or create new movies. login

Note: The website resets automatically every 30 minutes.

Credentials

User Role Email Password
Admin [email protected] adminpass
Manager [email protected] managerpass
Customer [email protected] customerpass



Installation Instructions


  1. Clone the repository by running the following command in your terminal or command prompt:
    git clone https://github.com/ziadabdo98/Cinemat.git
  2. Change into the project directory:
    cd Cinemat
  3. Install the project dependencies using Composer. Ensure you have Composer installed on your machine. Run the following command:
    composer install
  4. Create a copy of the .env.example file, name it .env, and enter database credentials:
    cp .env.example .env
  5. Generate an application key:
    php artisan key:generate
  6. Configure the .env file. Open the .env file in a text editor and set the necessary configuration options, such as database credentials and application-specific settings.
  7. Run the database migrations to create the required tables:
    php artisan migrate
  8. Optionally, seed the database with 20 movies, shows, users, and categories:
    php artisan db:seed
  9. Create a symbolic link from public/storage to storage/app/public by:
    php artisan storage:link
    The Laravel application will be accessible at the specified URL (usually http:https://localhost:8000).
  10. Finally, you can start the local development server:
    php artisan serve
    The Laravel application will be accessible at the specified URL (usually http:https://localhost:8000).

User Roles


Administrator:

  • Manages users' creation and website authorities
  • Accepts requests from managers to become managers
  • Can delete existing users

Manager:

  • Responsible for managing, creating, and modifying movie details
  • Responsible for managing, creating, and modifying shows
  • Can update information such as title, date, start and end time, screening room, and poster image
  • Can view the overall seat status for each show (vacant/reserved)

Customers:

  • Registered users who have provided their personal data
  • Can reserve movie tickets
  • Able to reserve any number of tickets for non-clashing movies

Guests:

  • Unregistered or non-logged-in users
  • Can view current movies' details
  • Can log in or register (sign up) as a customer
  • Unable to reserve tickets

About

Cinema ticket reservation system, built using laravel.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published