Git Product home page Git Product logo

tix4flix's Introduction

Tix4Flix: Online Movie Ticketing Service

License

Background

This project was built to develop a relational database that can be used to support an Online Movie Ticket Service (OMTS), which is an application for the advance purchase of movie tickets from any local theatre. Customers use the service to find out information about movies currently playing in various complexes and to order advance tickets for specific showings of the movies.

The project was intended to give me an opportunity to participate in all phases of the development of a database application including:

  1. ER modeling techniques
  2. Relational modeling techniques
  3. SQL
  4. Web Development (XAMP Stack)
  5. Accessing a database via web application

Requirements

Data Requirements

  1. The are multiple theatre complexes in the city. Each theatre complex contains some number of theatres and has a name, address and a phone number. Each theatre in a theatre complex has a theatre number, a maximum number of seats and a screen size (small, medium or large). You must have at least 3 theatre complexes represented in your project.
  2. Each current movie has a title, a running time, a rating (G, PG, AA, 14A, R, etc), a plot synopsis, a list of main actors, a director, a production company, the name of the supplier and the start and end dates for the movie's run at the theatre complex. The movie has one or more daily showings at the theatre complex specified by a start time. Each showing has the number of the theatre for the showing, the start time and the number of seats still available.
  3. A movie supplier has a company name, a company address, a phone number and the name of the contact person at the company.
  4. Movie information remains in the database even if the movie is no longer playing at any theatres.
  5. Each OMTS customer must register with the service. Once they have done so, they use the account number and password created to conduct transactions with the service. Each customer has a name, address, phone number, email address, account number, password, credit card number and credit card expiry date.
  6. Customers make reservations with the service (ie. they purchase movie tickets). Each reservation contains an account number, a showing, the number of tickets reserved. Assume that reservation records will be retained in the database for later analysis of customer movie viewing patterns.
  7. Customer reviews for movies.

Functional Requirements

Members

  1. Make an account including a login id and password
  2. Browse movies playing at the various theatre complexes.
  3. Purchase some number of tickets for one or more movies showing at one or more theatres
  4. View their purchases
  5. Cancel a purchase
  6. Update their personal details -- ie. modify their profile
  7. Browse their past rentals.
  8. Add a review for a movie.

Administrators

  1. List all the members
  2. Remove a member
  3. Add or update the information for a theatre complex/theatre
  4. Add movies to the database
  5. Update where/when movies are showing
  6. For a particular customer, show their rental history (including current tickets held)
  7. Find the movie that is the most popular (ie. has sold the most tickets across all theatres).
  8. Find the theatre complex that is most popular (ie. has sold the most tickets across all movies)

Database Design

alt

Implementation

Click here for Post-Development Report which includes:

  1. Entity Relation Diagram
  2. Assumptions
  3. Cardinality Legend for ER Diagram
  4. Problems Encountered During Development
  5. Design and Implementation Decisions
  6. Technologies and Tools Used
  7. Features to be Added
  8. User Manual

Try it yourself

  1. Download and install XAMPP (Apache Server)
  2. Locate and enter the /volumes/root/htdocs folder within the application (Through /home/.bitnami on OSX, and application folder on Windows). This folder is essentially a PHP "engine" which allows PHP files to run on the Apache Server
  3. Create a folder and initialize your repository
  • mkdir longtitleproject && cd $_
  • git init
  1. Add remote repository for local repository to point to
  • git remote add origin https://github.com/chrismaltais/Tix4Flix.git
  1. Pull remote files to your local repository to use!
  • git pull origin master
  1. Open PHPMyAdmin via XAMPP, query the database DDL complexdb.sql: It creates and populates tables with dummy data!
  2. Run pages/index.html

Member Credentials

Email: [email protected]

Password: password

Admin Credentials

Email: [email protected]

Password: password

Feature Backlog

  • Add security (password hashing, etc.)
  • Re-factor code (codebase is definitely not DRY - functions can be created)

tix4flix's People

Contributors

chrismaltais avatar jamesweiss 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.