Skip to content

A movie ticket purchasing system that uses Vue.js as the frontend and Node / Mongoose for the backend.

Notifications You must be signed in to change notification settings

Nixteridakis/Theater-Booking-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Theater-Booking-System

A movie booking system with different classes interacting with each other. The WTC is a Theater group with different Theaters where each is playing different and/or same movies. A user can see which people is attending which movie and how much is the total gross of the Theater at the current time.

A person can attend a movie and preorder items from the shop. When the ticket is bought the client gets a PDF containing different information about his purchase including the total price (Movie Ticket + Shop Items).

The project was initially made to read/write from a local MongoDB document(MongoDB Way folder) but at a later time I have recreated it so that it reads from a local JSON file (JSON way folder). Hence anyone can load and view at in their machine without having to preload any classes in a MongoDB document.

Ava tests are included for unit and end-to-end.

MongoDB way

In order to see the project with its full potential it needs at least couple of entries from each class in the MongoDB document.

Hierarchical sort of Classes:

  • Theater
  • Movie
  • Attendee
  • Shop Items

Endpoints to create classes(post):

Axios requests setup for the root '/'

Add Theater: '/theater',{name:String,totalSales:Number,image:String}
Add Movie: '/movie',{Name:String,Poster:String,Year:Number,Rating:Number,Genre:Array,Director:String}
Add Person: '/person',{name:String,age:Number}
Add Item: '/item',{name:String,price:Number}
Add Movies to a Theater:'/theater/TheaterId/add-movie'{movieId:MovieId}
Add a Person to a Movie: '/movie/MovieId/addPerson',{personId:PersonId}
Add a Item to a Person:'/person/add-item',{personId:'PersonId',itemId:ItemId})

Run

Backend

npm install
npm index.js

Frontend

npm install
npm run serve


This project is being developed soon to run with Docker

JSON way

In progress

About

A movie ticket purchasing system that uses Vue.js as the frontend and Node / Mongoose for the backend.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published