A full-stack web application for managing and participating in events. Built with React, Node.js, Express, and MongoDB.
- Frontend: https://event-management-system-gilt.vercel.app
- Backend: https://event-management-system-dnlr.onrender.com
- 👥 User Authentication (Sign Up, Sign In, Profile Management)
- 📅 Event Creation and Management
- 🔍 Event Search and Filtering
- 💖 Real-time Likes and Participation Updates
- 📱 Responsive Design
- 🖼️ Image Upload Support
- 🎫 Event Categories and Ticket Management
- React.js with Vite
- TailwindCSS for styling
- Socket.io-client for real-time features
- Axios for API requests
- React Router for navigation
- Node.js & Express.js
- MongoDB with Mongoose
- JWT for authentication
- Socket.io for real-time updates
- Bcrypt for password hashing
- Node.js (v14 or higher)
- MongoDB
- Git
- Clone the repository
git clone https://github.com/lokeshjatoth/event-management-system.git
cd event-management-system- Install Backend Dependencies
cd backend
npm install- Install Frontend Dependencies
cd ../frontend
npm install- Set up environment variables
Backend (.env):
PORT=3001
MONGODB_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
FRONTEND_URL=http://localhost:5173Frontend (.env):
VITE_BACKEND_URL=http://localhost:3001- Start the Development Servers
Backend:
cd backend
npm run devFrontend:
cd frontend
npm run dev- User registration and authentication
- Profile management
- Secure password hashing
- JWT-based session management
- Create, edit, and delete events
- Upload event images
- Set event categories and ticket prices
- Real-time updates for likes and participants
- Search events by title
- Filter by category
- Filter by price range
- Filter by date and time
- Live updates for event likes
- Real-time participant count updates
- Socket.io integration for instant updates
PORT: Server port numberMONGODB_URI: MongoDB connection stringJWT_SECRET: Secret key for JWTFRONTEND_URL: Frontend application URLCOOKIE_SECRET: Secret for cookie signing
VITE_BACKEND_URL: Backend API URL
- POST
/api/v1/user/signup: Register new user - POST
/api/v1/user/login: User login - POST
/api/v1/user/logout: User logout - GET
/api/v1/user/profile: Get user profile
- GET
/api/v1/event/all: Get all events - POST
/api/v1/event/create: Create new event - GET
/api/v1/event/:id: Get event details - PUT
/api/v1/event/:id: Update event - DELETE
/api/v1/event/:id: Delete event
- Fork the repository
- Create your 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
This project is licensed under the MIT License - see the LICENSE file for details.
Lokesh Jatoth
- GitHub: @lokeshjatoth