aysi143 / SAKITA-Cinema-Booking-

SAKITA is a modern cinema booking app made with REACT

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SAKITA Movies

A movie ticket booking website built with ReactJS, Redux and Material UI.

See the live demo -> SAKITA Movies.

Use this account for testing:

  • πŸ‘¨πŸ»β€πŸ’»Username: tule07
  • πŸ”Password: 123456Tu

Tech stack

![Tech logos][stack]

Core

  • [ReactJS][reactjs]: JavaScript library for building user interfaces.
  • [Redux][redux]: client state management with [Thunk middleware][redux-thunk].
  • [React Hook Form][react-hook-form] | [Formik][formik]: form state management and validation with [Yup][yup].

UI & Styling

  • [Material UI][mui]: React-based UI component library.
  • [SCSS/Sass][sass]: CSS pre-processor for styling the website.

Features

πŸ‘ΈπŸ»For users:

Fully responsive design on devices (laptop, tablet and mobile).

Page Features
Home - show theaters, movies and showtime schedules
Movie details - show movie details
Authentication (login + signup) - validate login and signup forms
Ticket booking - build grid-shaped seat layout with different types of seat
- map each seat row in alphabetical order
- allow to select a maximum of 5 seats
- cannot select sold seats
Profile - allow to change user information
- show transaction history

πŸ‘©πŸ»β€πŸ’ΌFor administrators:

Page Features
User management - display the table of users (both clients and administrators)
- search user by name
- create, update and delete user. Validate user information forms.
Movie management - display the table of movies
- search movie by name
- create, update and delete movie. Validate movie information forms
- create movie showtime schedules. Validate showtime schedule information forms

Project structure

Main source structure

root
└── src
    β”œβ”€β”€ api                         # Axios client configuration and request setup
    β”œβ”€β”€ assets                      # Shared multimedia files
    β”œβ”€β”€ components                  # Shared components
    β”œβ”€β”€ constants                   # Shared constants
    β”œβ”€β”€ containers                  # Pages
    β”‚   β”œβ”€β”€ AdminTemplate           # Admin pages
    β”‚   β”‚   β”œβ”€β”€ index.js            # Admin template
    β”‚   β”‚   β”œβ”€β”€ components          # Shared components for admin template
    β”‚   β”‚   β”œβ”€β”€ UserDashBoard
    β”‚   β”‚   └── MovieDashBoard
    β”‚   β”œβ”€β”€ AuthTemplate            # Authentication pages
    β”‚   β”‚   β”œβ”€β”€ index.js            # Authentication template
    β”‚   β”‚   β”œβ”€β”€ components          # Shared components for authentication template
    β”‚   β”‚   β”œβ”€β”€ LoginPage
    β”‚   β”‚   └── RegisterPage
    β”‚   β”œβ”€β”€ HomeTemplate            # Home pages
    β”‚   β”‚   β”œβ”€β”€ index.js            # Home template
    β”‚   β”‚   β”œβ”€β”€ components          # Shared components for home template
    β”‚   β”‚   β”œβ”€β”€ HomePage
    β”‚   β”‚   β”œβ”€β”€ MovieDetailsPage
    β”‚   β”‚   β”œβ”€β”€ ProfilePage
    β”‚   β”‚   └── TicketBookingPage
    β”‚   └── NotFoundPage            # 404 not found page
    β”œβ”€β”€ guard                       # Protect private routes
    β”œβ”€β”€ hooks                       # Shared hooks
    β”œβ”€β”€ i18n                        # Translation feature configuration
    β”œβ”€β”€ routes                      # Routing setup
    β”œβ”€β”€ store                       # Redux configuration and reducer setup
    β”œβ”€β”€ validators                  # Schema validators for user inputs
    β”œβ”€β”€ App.js
    └── index.js

Routing setup

Installation and run

Check out the website -> run locally by running the following commands:

Clone the project

git clone https://github.com/scoobytux/finnkino-cinema.git
cd finnkino-cinema

Install dependencies

npm install

Run the development server

npm start

Open http://localhost:3000 with your favorite browser to see the project 😎.

Some project's views on devices

  • On MacBook/Laptop

finnkino login laptop

finnkino booking laptop

finnkino user management laptop

finnkino user management laptop

  • On Mobile
finnkino detail mobile finnkino profile mobile

Contributors

Thanks go to these wonderful people ✨


Aysanew Yonas (IC)

πŸ’»πŸ“–

Brikty (Bk)

πŸ’»πŸ“–

Credits and references

Resource Description
CyberSoft Academy API provider
Finnkino A cool Finnish website for booking online movie tickets we got inspiration from

About

SAKITA is a modern cinema booking app made with REACT


Languages

Language:JavaScript 87.4%Language:SCSS 12.3%Language:HTML 0.2%