Skip to content

ThFate07/miniprojectEventTicket

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Book My Event - Event Management & Ticketing Platform

Overview

Book My Event is a full-featured event management and ticket booking platform built using the MERN stack. It allows users to explore and book events, while organizers can create and manage their shows. Admins oversee event approvals, ensuring a smooth and trusted experience. The platform includes OTP-based login, role-based access, and a clean, responsive UI using modern design principles like glassmorphism.


Table of Contents

  1. Tech Stack
  2. Features
  3. Installation and Setup
  4. Project Structure
  5. Environment Variables
  6. Known Issues
  7. Future Improvements
  8. About Me
  9. License

Architecture

book-my-event

Tech Stack

Frontend

  • React + Vite
  • Tailwind CSS (with glassmorphism UI)
  • React Router DOM
  • Context API for state management
  • Lucide React, Radix UI, shadcn/ui

Backend

  • Node.js + Express
  • MongoDB + Mongoose
  • JWT Authentication
  • Axios for HTTP requests

Features

User

  • Browse upcoming events
  • Book tickets
  • OTP-based login
  • View personal bookings

Organizer

  • Register and login as an organizer
  • Create and manage event listings
  • View booking statistics

Admin

  • Approve or reject new events
  • View and manage platform activity

Common Features

  • Role-based routing and dashboard
  • Glassmorphism UI with responsive layout
  • Toast notifications and smooth navigation

Installation and Setup

Prerequisites

  • Node.js (v14+)
  • MongoDB Atlas or local instance

Steps

  1. Clone the Repository
git clone <your-repository-url>
cd book-my-event
  1. Install Dependencies
npm install
cd backend
npm install
cd ../frontend
npm install
  1. Configure Environment

Create one central environment file in the project root:

cp .env.example .env

Do not create separate frontend/.env or backend/.env files. The backend loads the root .env, and Vite is configured to read frontend variables from the same root file.

Required local values:

PORT=8000
SERVER_URL=http://localhost:8000
FRONTEND_URL=http://localhost:5173
CLIENT_URL=http://localhost:5173
VITE_API=http://localhost:8000/api
MONGO_URI=mongodb://127.0.0.1:27017/book-my-event
JWT_SECRET=replace-with-a-long-random-secret
QR_SIGNING_SECRET=replace-with-a-long-random-secret
RAZORPAY_KEY=rzp_test_replace_me
RAZORPAY_KEY_SECRET=replace_me
VITE_RAZORPAY_KEY=rzp_test_replace_me
EMAIL=your-email@example.com
PASSWORD=your-email-app-password
GEMINI_API_KEY=replace_me
NODE_ENV=development

Only variables prefixed with VITE_ are exposed to the frontend bundle.

  1. Run Frontend and Backend Together
npm run dev

This starts:

  • the backend with nodemon
  • the frontend with vite

You can still run each app separately if needed:

npm run dev:backend
npm run dev:frontend

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages