Skip to content

SistemBasisData2023/TixOnline

Repository files navigation

TixOnline Cinema Booking App

Contributors

Final Database Management System project by Group G7:

Introduction

TixOnline is a web-based cinema booking application developed using Node.js, Express, PostgreSQL, and EJS. It provides users with a seamless and convenient online platform to browse movies, view showtimes, and book tickets for their favorite films. With a robust backend powered by Node.js and Express, and a reliable database in PostgreSQL, TixOnline offers a smooth and secure cinema booking experience. The dynamic HTML views are generated using EJS (Embedded JavaScript), making the application visually appealing and interactive.

Features

User Registration and Authentication

Enjoy personalized features by creating an account and logging in. TixOnline allows users to manage their profile, track booking history, and receive tailored recommendations. With secure authentication mechanisms in place, your personal information and account details are safe.

Movie Browsing

Discover an extensive collection of movies through TixOnline's intuitive interface. Explore detailed information about each movie, including plot summaries, genres, and ratings. Get a comprehensive overview and make informed choices about your movie selections. messageImage_1686501293185 messageImage_1686501320818

Ticket Booking

TixOnline simplifies the ticket booking process, allowing users to effortlessly select their preferred movie, showtime, and seats. With a streamlined interface, you can confidently proceed to book tickets securely. The application ensures that seats are not double-booked, providing a hassle-free experience. messageImage_1686501378842 messageImage_1686501270419

Booking History

Easily access your past bookings with TixOnline's booking history feature. Stay organized by reviewing your previous movie choices, showtimes, and the seats you booked. Keep track of your cinema experiences and plan future outings with ease. messageImage_1686501358107

Admin Management

TixOnline's admin management feature allows administrators to manage movies, schedules, theaters, and studios. Admins can add, edit, and delete movies, schedules, theaters, seats, and studios. They can also view all transactions and tickets booked by users. Admins have access to a dashboard that provides an overview of the application's performance.

Payment

TixOnline offers a secure payment gateway for users to pay for their tickets. The application supports PayPal payments, allowing users to pay using their PayPal accounts or credit/debit cards.

Theaters and Studios

TixOnline provides a comprehensive list of theaters and studios where movies are shown. Users can view detailed information about each theater, including address and images. They can also view the layout of each studio and select their preferred seats.

Tables

The following are tables used in the TixOnline's database.

1. Admins

This table stores information about administrators of the TixOnline application.

  • admin_id
  • username
  • email
  • password

2. Movies

This table stores information about movies available for booking.

  • movie_id
  • title
  • genre
  • duration
  • release_date
  • synopsis
  • status
  • trailer_link
  • images
  • rating

3. Schedule

This table stores information about movie schedules, including showtimes and prices.

  • schedule_id
  • movie_id
  • studio_id
  • date
  • hours
  • prices

4. Seats

This table stores information about seats in the studios.

  • seat_id
  • studio_id
  • seat_number

5. Schedules

This table links schedules with their corresponding seats.

  • schedule_id
  • seat_id

6. Studios

This table stores information about movie studios.

  • studio_id
  • name
  • type
  • theater_id

7. Theaters

This table stores information about theaters where movies are shown.

  • theater_id
  • name
  • address
  • city
  • theater_images

8. Tickets

This table stores information about tickets booked by users.

  • ticket_id
  • transaction_id
  • schedule_id
  • seat_id

9. Transactions

This table stores information about user transactions.

  • transaction_id
  • user_id
  • quantity
  • transaction_status
  • transaction_date
  • payment_max_date

10. Remember me

This table stores tokens for "Remember Me" functionality.

  • remember_me_tokens_id
  • user_id
  • token
  • expires_at

Flowcharts

  1. User Flowchart
user flowchart 2. Admin Flowchart admin flowchart

Entity Relationship Diagram

ERD

UML

UML SBD

Getting Started

To get started with TixOnline, follow these simple steps:

  1. Clone the repository: git clone https://github.com/SistemBasisData2023/TixOnline
  2. Install dependencies: npm install
  3. Start the application: npm start
  4. Visit http://localhost:3000 in your browser to access TixOnline.

Technologies Used

  • Node.js
  • Express
  • PostgreSQL
  • EJS
  • HTML
  • CSS
  • Tailwind
  • JavaScript
  • Libraries: Body-parser Paypal-rest-sdk bcrypt multer fs cookie-parser node-cron ejs pg

nodejs express postgresql html5 css3 javascript tailwind

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •