# chetanareddy21/book-my-show architecture

> Architecture diagram of the GitHub repository chetanareddy21/book-my-show, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/chetanareddy21/book-my-show
- Repository: https://github.com/chetanareddy21/book-my-show

## Overview

This is a JSP/Servlet event-booking web application. Users are meant to discover events, choose a location or category, and book; account signup/login and admin event posting are separate workflows. The sampled servlets directly insert users, bookings, and posted events, while the README describes browsing, offers, and location recommendations. Those pages’ implementation and wiring were not sampled, so their database relations are not inferred.

Main entry points: [`src/main/java/com/mycompany/mavenproject2/LoginServlet.java`](https://github.com/chetanareddy21/book-my-show/blob/master/src/main/java/com/mycompany/mavenproject2/LoginServlet.java) (Login handler), [`src/main/java/com/mycompany/mavenproject2/SignupServlet.java`](https://github.com/chetanareddy21/book-my-show/blob/master/src/main/java/com/mycompany/mavenproject2/SignupServlet.java) (Signup handler), [`src/main/java/com/mycompany/mavenproject2/BookServlet.java`](https://github.com/chetanareddy21/book-my-show/blob/master/src/main/java/com/mycompany/mavenproject2/BookServlet.java) (Booking handler), [`src/main/java/com/mycompany/mavenproject2/PostEventServlet.java`](https://github.com/chetanareddy21/book-my-show/blob/master/src/main/java/com/mycompany/mavenproject2/PostEventServlet.java) (Event posting handler)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_presentation["Web pages"]
  node_home["Home and categories<br/>[homePage.jsp]"]
  node_listings["Event listings<br/>[display_events.jsp]"]
  node_booking_page["Booking page<br/>[booknow.jsp]"]
  node_recommendations["Location recommendations<br/>[recommendation.jsp]"]
  node_offers["Offers<br/>[offers.jsp]"]
  node_login_page["Login page<br/>[login.jsp]"]
  node_signup_page["Signup page<br/>[signup.jsp]"]
  node_post_page["Event management page<br/>[post_event.jsp]"]
end

subgraph group_identity["Accounts"]
  node_login["Login handler<br/>[LoginServlet.java]"]
  node_signup["Signup handler<br/>[SignupServlet.java]"]
end

subgraph group_events["Event operations"]
  node_booking["Booking handler<br/>[BookServlet.java]"]
  node_post_event["Event posting handler"]
  node_event_model["Event data model<br/>[Event.java]"]
end

subgraph group_persistence["Data access"]
  node_mysql[("MySQL database")]
end

node_visitor(("User or admin"))

node_visitor -->|"visits"| node_home
node_visitor -->|"browses"| node_listings
node_visitor -->|"selects event"| node_booking_page
node_visitor -->|"filters location"| node_recommendations
node_visitor -->|"views offers"| node_offers
node_visitor -->|"signs in"| node_login_page
node_visitor -->|"registers"| node_signup_page
node_visitor -->|"manages events"| node_post_page
node_login -->|"queries users"| node_mysql
node_signup -->|"inserts user"| node_mysql
node_booking -->|"inserts booking"| node_mysql
node_post_event -->|"inserts event"| node_mysql

click node_home "https://github.com/chetanareddy21/book-my-show/blob/master/src/main/webapp/homePage.jsp"
click node_listings "https://github.com/chetanareddy21/book-my-show/blob/master/src/main/webapp/display_events.jsp"
click node_booking_page "https://github.com/chetanareddy21/book-my-show/blob/master/src/main/webapp/booknow.jsp"
click node_recommendations "https://github.com/chetanareddy21/book-my-show/blob/master/src/main/webapp/recommendation.jsp"
click node_offers "https://github.com/chetanareddy21/book-my-show/blob/master/src/main/webapp/offers.jsp"
click node_login_page "https://github.com/chetanareddy21/book-my-show/blob/master/src/main/webapp/login.jsp"
click node_signup_page "https://github.com/chetanareddy21/book-my-show/blob/master/src/main/webapp/signup.jsp"
click node_post_page "https://github.com/chetanareddy21/book-my-show/blob/master/src/main/webapp/post_event.jsp"
click node_login "https://github.com/chetanareddy21/book-my-show/blob/master/src/main/java/com/mycompany/mavenproject2/LoginServlet.java"
click node_signup "https://github.com/chetanareddy21/book-my-show/blob/master/src/main/java/com/mycompany/mavenproject2/SignupServlet.java"
click node_booking "https://github.com/chetanareddy21/book-my-show/blob/master/src/main/java/com/mycompany/mavenproject2/BookServlet.java"
click node_post_event "https://github.com/chetanareddy21/book-my-show/blob/master/src/main/java/com/mycompany/mavenproject2/PostEventServlet.java"
click node_event_model "https://github.com/chetanareddy21/book-my-show/blob/master/src/main/java/com/mycompany/mavenproject2/Event.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_home,node_listings,node_booking_page,node_recommendations,node_offers,node_login_page,node_signup_page,node_post_page,node_visitor toneBlue
class node_login,node_signup toneAmber
class node_booking,node_post_event,node_event_model toneMint
class node_mysql toneRose
```

## Components

### Web pages

- [Home and categories](https://github.com/chetanareddy21/book-my-show/blob/master/src/main/webapp/homePage.jsp): `src/main/webapp/homePage.jsp`
- [Event listings](https://github.com/chetanareddy21/book-my-show/blob/master/src/main/webapp/display_events.jsp): `src/main/webapp/display_events.jsp`
- [Booking page](https://github.com/chetanareddy21/book-my-show/blob/master/src/main/webapp/booknow.jsp): `src/main/webapp/booknow.jsp`
- [Location recommendations](https://github.com/chetanareddy21/book-my-show/blob/master/src/main/webapp/recommendation.jsp): `src/main/webapp/recommendation.jsp`
- [Offers](https://github.com/chetanareddy21/book-my-show/blob/master/src/main/webapp/offers.jsp): `src/main/webapp/offers.jsp`
- [Login page](https://github.com/chetanareddy21/book-my-show/blob/master/src/main/webapp/login.jsp): `src/main/webapp/login.jsp`
- [Signup page](https://github.com/chetanareddy21/book-my-show/blob/master/src/main/webapp/signup.jsp): `src/main/webapp/signup.jsp`
- [Event management page](https://github.com/chetanareddy21/book-my-show/blob/master/src/main/webapp/post_event.jsp): `src/main/webapp/post_event.jsp`

### Accounts

- [Login handler](https://github.com/chetanareddy21/book-my-show/blob/master/src/main/java/com/mycompany/mavenproject2/LoginServlet.java): `src/main/java/com/mycompany/mavenproject2/LoginServlet.java`
- [Signup handler](https://github.com/chetanareddy21/book-my-show/blob/master/src/main/java/com/mycompany/mavenproject2/SignupServlet.java): `src/main/java/com/mycompany/mavenproject2/SignupServlet.java`

### Event operations

- [Booking handler](https://github.com/chetanareddy21/book-my-show/blob/master/src/main/java/com/mycompany/mavenproject2/BookServlet.java): `src/main/java/com/mycompany/mavenproject2/BookServlet.java`
- [Event posting handler](https://github.com/chetanareddy21/book-my-show/blob/master/src/main/java/com/mycompany/mavenproject2/PostEventServlet.java): `src/main/java/com/mycompany/mavenproject2/PostEventServlet.java`
- [Event data model](https://github.com/chetanareddy21/book-my-show/blob/master/src/main/java/com/mycompany/mavenproject2/Event.java): `src/main/java/com/mycompany/mavenproject2/Event.java`

### Data access

- **MySQL database**

### Other components

- **User or admin**

## Connections

- User or admin → Home and categories: visits
- User or admin → Event listings: browses
- User or admin → Booking page: selects event
- User or admin → Location recommendations: filters location
- User or admin → Offers: views offers
- User or admin → Login page: signs in
- User or admin → Signup page: registers
- User or admin → Event management page: manages events
- Login handler → MySQL database: queries users
- Signup handler → MySQL database: inserts user
- Booking handler → MySQL database: inserts booking
- Event posting handler → MySQL database: inserts event
