VenueZar is a comprehensive web-based venue booking and management system that connects venue owners with customers looking to book venues for events. The platform provides an intuitive interface for venue owners to list their properties and manage bookings, while customers can easily browse, favorite, and book venues.
- 🔐 Secure registration and login system
- 📝 Add and manage venue listings with details (name, location, price, etc.)
- 📊 Dashboard to view all listed venues
- 🗑️ Delete venues when needed
- 📅 View and manage booking requests
- 🔔 Real-time notification system for new bookings
- 🔐 Separate customer registration and login system
- 🔍 Browse all available venues
- ❤️ Add venues to favorites for easy access
- 📍 View venue locations via Google Maps integration
- 📅 Book venues with date and time slot selection
- 📱 Mobile-responsive interface
- Backend: Java Servlets, JSP, JDBC
- Database: MySQL
- Frontend: HTML, CSS, JavaScript
- Security: Password hashing with SHA-256
- Session Management: Cookies
- External APIs: Google Maps integration
- Build Tool: Apache Ant
- JDK 8 or higher
- Apache Tomcat 8 or higher
- MySQL 5.7 or higher
- NetBeans IDE (recommended)
- Create a MySQL database named
venuezar
- Execute the following SQL scripts to create the required tables:
-- Create owner table
CREATE TABLE ownerTable (
ownerId VARCHAR(255) PRIMARY KEY,
username VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL
);
-- Create customer table
CREATE TABLE customerTable (
customerId VARCHAR(255) PRIMARY KEY,
username VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL
);
-- Create venue table
CREATE TABLE venueTable (
id VARCHAR(255) PRIMARY KEY,
name VARCHAR(255) NOT NULL,
area VARCHAR(255) NOT NULL,
city VARCHAR(255) NOT NULL,
price VARCHAR(255) NOT NULL,
food_include VARCHAR(10),
phoneNumber VARCHAR(20) NOT NULL,
location_link VARCHAR(255) NOT NULL,
ownerId VARCHAR(255) NOT NULL,
FOREIGN KEY (ownerId) REFERENCES ownerTable(ownerId)
);
-- Create booking table
CREATE TABLE bookingTable (
bookingId VARCHAR(255) PRIMARY KEY,
customerId VARCHAR(255) NOT NULL,
venueId VARCHAR(255) NOT NULL,
ownerId VARCHAR(255) NOT NULL,
date VARCHAR(20) NOT NULL,
slot VARCHAR(5) NOT NULL,
FOREIGN KEY (customerId) REFERENCES customerTable(customerId),
FOREIGN KEY (venueId) REFERENCES venueTable(id),
FOREIGN KEY (ownerId) REFERENCES ownerTable(ownerId)
);
-- Create favorites table
CREATE TABLE favorites (
venueId VARCHAR(255) NOT NULL,
customerId VARCHAR(255) NOT NULL,
PRIMARY KEY (venueId, customerId),
FOREIGN KEY (venueId) REFERENCES venueTable(id),
FOREIGN KEY (customerId) REFERENCES customerTable(customerId)
);
-
Clone the repository or download the project files
-
Open the project in NetBeans IDE
-
Update the database connection settings in the Java files:
-
Look for
DriverManager.getConnection("jdbc:mysql://localhost:3306/venuezar", "root", "Viral@6566")
and replace with your MySQL credentials -
Build the project
-
Deploy to Tomcat server
- Register as a venue owner
- Log in to your account
- Add venues with details (name, area, city, price, etc.)
- View your listed venues on the dashboard
- Check booking notifications and manage bookings
- Delete venues when needed
- Register as a customer
- Log in to your account
- Browse available venues
- Add venues to favorites by clicking the heart icon
- Click "Book Now" to book a venue
- Select date and time slot (Morning, Evening, or Whole Day)
- Confirm booking
[Suggestion: Add screenshots of key pages here, such as:]
- Home page
- Owner dashboard
- Customer dashboard
- Venue listing
- Booking form
- Bookings page
VenueZar/
├── src/
│ └── java/
│ ├── booking/
│ │ ├── BookingVenueServlet.java
│ │ └── BookingsServlet.java
│ ├── cookie/
│ │ └── RedirectBasedOnCookie.java
│ ├── login_registration/
│ │ ├── LoginCustomerServlet.java
│ │ ├── LoginOwnerServlet.java
│ │ ├── LogoutCustomerServlet.java
│ │ ├── LogoutOwnerServlet.java
│ │ ├── RegisterCustomerServlet.java
│ │ └── RegisterOwnerServlet.java
│ ├── utils/
│ │ ├── AlertMessage.java
│ │ ├── GetCookieValue.java
│ │ ├── GetNumberOfNotification.java
│ │ ├── GetUserName.java
│ │ ├── IsDatePass.java
│ │ ├── PasswordHasher.java
│ │ └── UserAuthenticat.java
│ └── venue/
│ ├── AddFavoriteVenueServlet.java
│ ├── AddVenueServlet.java
│ ├── DeleteVenueServlet.java
│ ├── FetchCustomerSideContent.java
│ └── FetchOwnerSideContent.java
└── web/
├── AddVenueForm.html
├── BookingForm.html
├── BookingsPage.html
├── CustomerDashboard.html
├── LoginForCustomer.html
├── LoginForOwner.html
├── OwnerDashboard.html
├── RegisterForCustomer.html
├── RegisterForOwner.html
├── home.html
├── META-INF/
│ └── context.xml
└── WEB-INF/
└── web.xml
- Password hashing using SHA-256 algorithm
- Session management with cookies
- Input validation
- Protection against SQL injection
- Payment gateway integration
- Email notifications
- Admin panel for system management
- Advanced search and filtering options
- User reviews and ratings for venues
- Image gallery for venues
- Mobile application
- [Your Name] - Initial work and development
This project is licensed under the MIT License - see the LICENSE file for details.
- NetBeans - IDE for development
- Apache Tomcat - Servlet container
- MySQL - Database
- Cloudinary - Image hosting
⭐ Star this repository if you find it useful! ⭐