Git Product home page Git Product logo

screenseat's Introduction

ScreenSeat

Project Overview

SelectSeat is a comprehensive ticket booking system for movies, designed to facilitate easy and efficient show and theatre management. This system is crafted with a robust stack of technologies and offers a seamless user experience for both general users and administrators.

Technology Stack

  • Frontend: VueJS for UI, optionally using VueJS Advanced with CLI. Jinja2 templates for dynamic content rendering.
  • Styling: Bootstrap for CSS, with no other CSS frameworks allowed.
  • Backend: Flask for API development.
  • Database: SQLite as the primary database system.
  • Caching and Batch Jobs: Redis for caching and batch jobs management with Redis and Celery.
  • Compatibility: Designed for Linux-based systems, compatible with Windows OS via WSL.

Functionality

  • User Signup and Login
  • Mandatory Admin Login with RBAC
  • Theatre and Show Management
  • Booking Show Tickets
  • Search for Shows/Theatres
  • Backend Jobs (Export, Reporting, Alert Jobs)
  • Backend Performance Optimization

System Design

User's Side

Enables users to book tickets for shows. Interface built with HTML, CSS (Bootstrap), and VueJS. Communication with the backend through REST APIs.

Admin Side

Allows creation and management of shows. Admin functionalities are protected by RBAC.

Architecture

  • Frontend: HTML and CSS with Bootstrap styling.
  • Backend: Flask script hosted locally, with SQLAlchemy for database interaction.
  • Communication between frontend and backend via REST APIs.
  • Dynamic content rendering using Jinja2 in Flask.

Security

Utilizes Flask-Login for secure user and admin authentication. Restricts access to certain pages for non-logged-in users.

Database Models

The application uses Flask-SQLAlchemy for database management. Below are the models representing the database structure:

User Model

FieldType
idInteger
usernameString(50)
passwordString(100)
isAdminInteger

Venue Model

FieldType
idInteger
venue_nameString(50)
venue_descriptionString(50)
venue_locationString(50)
venue_capacityString(50)

Show Model

FieldType
idInteger
show_nameString(50)
show_ratingString(50)
show_rating_countInteger
show_dateString(50)
show_timeString(50)
show_priceString(50)
show_tagsString(50)
show_capacityInteger
show_available_ticketsInteger
venue_idInteger (ForeignKey)

Booking Model

FieldType
idInteger
ticketsInteger
total_priceInteger
show_idInteger (ForeignKey)
user_idInteger (ForeignKey)
show_ratingInteger

screenseat's People

Contributors

gargkanishk avatar kanishkgarg avatar

Watchers

 avatar

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.