A modern full-stack event management platform built with React, Node.js, and MongoDB. Seamlessly create, manage, and book events with features like secure payments, real-time updates, and a responsive design.
- Create and manage events with rich details and media
- Set multiple ticket tiers and pricing
- Real-time availability updates
- Customizable event pages
- Event analytics and reporting
- Easy ticket booking flow
- QR code-based tickets
- Automatic email confirmations
- Booking history
- Refund processing
- Secure payment processing via Razorpay
- Multiple payment methods
- Automatic invoice generation
- International currency support
- Secure authentication via Supabase
- User roles (Admin, Organizer, Attendee)
- Profile management
- Booking history
- Wishlist functionality
- React (Vite)
- Tailwind CSS
- Framer Motion
- TypeScript
- Node.js
- Express
- MongoDB
- Mongoose
- 🔐 Authentication: Supabase
- 💰 Payments: Razorpay
- 🖼️ Image Storage: ImageKit
- Node.js >= 18.0.0
- MongoDB
- Supabase account
- Razorpay account
- ImageKit account
- Clone the repository
git clone https://github.com/yourusername/event-platform.git
cd event-platform/backend
- Install dependencies
npm install
- Set up environment variables
cp .env.example .env
Configure the following in .env
:
PORT=8000
MONGO_URI=your_mongodb_uri
IMAGEKIT_PUBLIC_KEY=your_imagekit_public_key
IMAGEKIT_PRIVATE_KEY=your_imagekit_private_key
IMAGEKIT_URL_ENDPOINT=your_imagekit_url_endpoint
RAZORPAY_KEY_ID=your_razorpay_key_id
RAZORPAY_KEY_SECRET=your_razorpay_key_secret
- Start the server
npm run dev
- Navigate to frontend directory
cd ../frontend
- Install dependencies
npm install
- Set up environment variables
cp .env.example .env
Configure the following in .env
:
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
VITE_API_URL=http://localhost:8000
VITE_RAZORPAY_KEY_ID=your_razorpay_key_id
- Start the development server
npm run dev
- Visit
http://localhost:5173
in your browser - Create an account or log in
- Start creating events or browsing available events
- Test the payment flow using Razorpay test credentials
API documentation is available at /api/docs
when running the backend server. It includes detailed information about all available endpoints, request/response formats, and authentication requirements.
# Run backend tests
cd backend
npm run test
# Run frontend tests
cd frontend
npm run test
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Please ensure your PR follows our contribution guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.
- Aayush Vaghela - Project Lead
Aayush Vaghela - aayushvaghela12@gmail.com
Project Link: https://github.com/yourusername/event-platform