Dev-El-badry / ticketing-app-laravel-dockerized

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ticketing App

Usage

To get started, make sure you have Docker installed on your system, and then clone this repository.

Next, navigate in your terminal to the directory you cloned this, and spin up the containers for the web server by running

docker-compose up -d --build

Bringing up the Docker Compose network with site instead of just using up, ensures that only our site's containers are brought up at the start, instead of all of the command containers as well. The following are built for our web server, with their exposed ports detailed:

  • nginx - :3050
  • db - :3306
  • api - :8000
  • redis - :6379
  • client - :3000

migrate database of app t

docker-compose exec api php artisan migrate

to run seed files, execute

docker-compose exec api php artisan db:seed

*** NOW you can login ***

Account information

You can access your application via localhost, if you're running the containers directly [link] (http://localhost:3050)

API Collection of ticketing app on postman

ticketing app collection

API

  • implemented JWT based security in a test Core Web API REST project
  • perform queuing and caching using redis to avoid hit the database.

Authentication

  • Login
  • Me
  • Logout

Movies

  • Create
  • Update
  • Delete
  • Show

Halls

  • Create
  • Update
  • Delete
  • Show

Seats

  • Create
  • Update
  • Delete
  • Show
  • Get Seats with filter if available OR reseved

Reservations

  • Create
  • Update
  • Delete
  • Show

Show Times

  • Create
  • Update
  • Delete
  • Show
  • Get show times of movie based on movie id

Tests:

  • Create
  • Update
  • Delete
  • Show

Halls

  • Create
  • Update
  • Delete
  • Show

Seats

  • Create
  • Update
  • Delete
  • Show
  • Get Seats with filter if available OR reserved

Reservations

  • Create
  • Update
  • Delete
  • Show

Show Times

  • Create
  • Update
  • Delete
  • Show
  • Get show times of movie based on movie id

UI:

  • Using redux to handle the data flow within a component and reduce the complexity gf the application
  • Using HTTP_INTERCEPTOR to inject authorization http headers to every http request
  • Using angular material
  • Login page to start session
  • Show all movies
  • Show times of movie based on movie id
  • Select your seats and booking

About


Languages

Language:PHP 73.6%Language:TypeScript 13.5%Language:Blade 7.0%Language:HTML 2.9%Language:SCSS 1.2%Language:JavaScript 0.7%Language:Shell 0.7%Language:Dockerfile 0.4%