Code Monkey home page Code Monkey logo

finnkino-cinema's Introduction

Finnkino Cinema

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

See the live demo -> Finnkino Cinema (the API might be expired when you visit the website).

Use this account for testing:

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

Tech stack

Tech logos

Core

UI & Styling

  • Material UI: React-based UI component library.
  • SCSS/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 -> Finnkino Cinema or 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 ✨


Phuong Vu (Chloe)

πŸ’»πŸ“–

Tu Le (Liam)

πŸ’»πŸ“–

Credits and references

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.