Snapshots of webpage
Login page
Signup page
Home Page
Nearest Venue Using A* Algorithm
Checking Available Dates
Video of website
Detailed Discerption
1. Authentication and Validation:
The webpage offers a secure login and signup system for users.
During registration, user passwords are hashed using the bcrypt algorithm, providing enhanced security for stored credentials in the MongoDB database.
For login, the entered password is validated by comparing its hash with the stored hash, ensuring robust security against unauthorized access.
Proper validation is implemented in both the login and signup forms to ensure only valid and secure data is submitted.
2. Homepage Features:
Venue Listing: The homepage displays a list of various venues available for booking.
Search Functionality: A user can search for the nearest venue using an A* search algorithm implemented on the frontend for efficient location-based searching.
Event Listing: A section highlights various ongoing or upcoming events for users to explore.
3. Venue and Event Availability:
Users can click on a venue or event to check its availability for a particular date.
Once the availability is confirmed, users are guided to proceed with booking.
4. Booking System:
The booking system ensures a smooth workflow:
After checking venue or event availability, users can fill out a validated booking form.
The booking form incorporates client-side validation using JavaScript to prevent errors.
Upon successful submission, a receipt is generated dynamically and made available for download as a PDF for user reference.
5. User Account Management:
The website provides a section for users to check their past bookings, offering an organized way to review booking history.
Users can also log out securely, with private routing in place to ensure that no pages can be accessed without proper authentication.
1. Password Security with Bcrypt:
User passwords are securely hashed using the bcrypt hashing algorithm with a salt factor to prevent attacks such as brute force or rainbow table attacks.
Hashes are stored in the MongoDB database, ensuring sensitive user data is protected.
2. MongoDB for Data Storage:
All user data, venue details, event details, and bookings are stored in a well-structured MongoDB database.
The use of Mongoose provides a streamlined way to interact with the database through schemas and models.
3. Express for Backend Routing:
The backend is built with Express.js, which efficiently handles routing for various API endpoints (e.g., login, signup, booking, availability checks).
Secure RESTful APIs are created for database interactions.
1. HTML, CSS, and JavaScript:
HTML and CSS are used to build a visually appealing and user-friendly interface.
JavaScript handles form validation, dynamic interactions, and the implementation of the A* search algorithm for finding the nearest venue.
2. React for Dynamic Frontend:
React is used to build a modular and interactive frontend.
React's state management enables smooth transitions between components, such as venues, events, and booking forms.
Private Routing: React's private routing ensures that users cannot access restricted pages without logging in, enhancing security and flow.
This event management website offers a comprehensive solution for organizing and booking events with features like secure authentication, dynamic venue and event search, booking management, and receipt generation. The use of modern web technologies such as React, Node.js, and MongoDB ensures a seamless user experience and robust backend functionality. The system prioritizes user security with hashing algorithms, private routing, and real-time validations.
Tools :-
To develop the website, I utilized HTML, CSS, and JavaScript to create a responsive, user-friendly interface with dynamic features. React was employed to build a modular and interactive frontend, ensuring a seamless user experience. On the backend, I used Node.js as the runtime environment and Express.js as the framework to manage routing and API calls effectively. For secure password handling, I implemented the bcrypt hashing algorithm, ensuring user data is protected during login and registration. All the data, including user credentials, venue details, and bookings, were stored in MongoDB, a NoSQL database, with Mongoose providing a schema-based solution to manage database operations. This combination of tools enabled me to build a full-stack, scalable, and secure application that efficiently handles user authentication, dynamic content rendering, and database interactions.