Skip to content

Srushtee1706/Ethnus_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎟 EventEase – Event Management App

EventEase is a full-stack MERN application (MongoDB, Express.js, React, Node.js) developed as part of the ETHUS MERN Stack Certification. It allows users to create, browse, manage, and purchase tickets for events with user authentication, cart & purchase management, and Google Calendar integration.


πŸš€ One-Line Description

A complete MERN stack event management system with authentication, ticket booking, cart, purchases, and calendar integration.


πŸ–₯️ Project Structure

root/
β”‚
β”œβ”€β”€ frontend/      # React + Vite frontend
β”‚
└── backend/       # Node.js + Express backend

πŸš€ Frontend

πŸ“Œ Tech Stack

  • React with Vite for fast bundling and HMR
  • ESLint for linting
  • Axios for HTTP requests
  • LocalStorage for cart & token storage

β–Ά Getting Started

Navigate to the frontend directory:

cd frontend

Install dependencies

npm install

Run the development server

npm run dev

Build for production

npm run build

Preview production build locally

npm run preview

🚦 ESLint

This project includes a basic ESLint configuration. For production, consider using TypeScript with type-aware linting.


πŸ›  Backend

πŸ“Œ Tech Stack

  • Node.js + Express.js
  • MongoDB for data storage
  • JWT for authentication
  • MVC folder structure

β–Ά Getting Started

Navigate to the backend directory:

cd backend

Install dependencies

npm install

Start the server

npm start

(or node server.js if you configured without scripts)


πŸ“‚ Backend Folder Structure

backend/
β”‚
β”œβ”€β”€ server.js        # Entry point
β”‚
β”œβ”€β”€ config/          # DB & environment config
β”‚
β”œβ”€β”€ controllers/     # Request handlers
β”‚
β”œβ”€β”€ middleware/      # Auth, error handling
β”‚
β”œβ”€β”€ models/          # Mongoose schemas
β”‚
β”œβ”€β”€ routes/          # API routes
β”‚
└── node_modules/

πŸ“† How It Works

πŸ” Authentication

  • Login & registration handled via:

    • POST /api/auth/login
    • POST /api/auth/register
  • JWT tokens stored in localStorage and used for protected endpoints.

πŸ“… Event Management

  • Users or admins can create, update, delete, and list events via:

    • POST /api/events
    • PUT /api/events/:id
    • DELETE /api/events/:id
    • GET /api/events
  • Managed through EventForm.jsx and Events.jsx.

πŸ›’ Cart & Ticket Purchase

  • Cart stored in localStorage.

  • Increment/decrement ticket quantities or remove events from cart.

  • Purchase triggers:

    • POST /api/events/buy/:id (validate & decrement tickets)
    • POST /api/purchases (record transaction)
    • Clears cart & shows notification.

πŸ“† Google Calendar Integration

  • Each event can be added to Google Calendar via generated query link.

πŸ’» Project Frontend Structure

src/
β”œβ”€β”€ components/
β”‚   └── EventForm.jsx
β”œβ”€β”€ pages/
β”‚   β”œβ”€β”€ Cart.jsx
β”‚   β”œβ”€β”€ Events.jsx
β”‚   β”œβ”€β”€ Purchases.jsx
β”‚   β”œβ”€β”€ Login.jsx
β”‚   └── Register.jsx
β”œβ”€β”€ App.jsx
└── index.js

πŸš€ Features

  • πŸ” User Authentication – Register & login securely
  • πŸ“… Event CRUD – Create, update, delete, and list events
  • πŸ›’ Cart Management – Manage tickets & quantities
  • πŸ’³ Purchase Flow – Complete ticket purchases
  • πŸ“† Google Calendar Integration – Add events to your calendar

πŸ›‘ Tech Summary

Frontend Backend Storage
React Node.js/Express MongoDB
Vite JWT (auth) LocalStorage
Axios Mongoose

πŸ— Setup Summary

# Frontend
cd frontend
npm install
npm run dev

# Backend
cd backend
npm install
npm start

Ensure your backend server exposes:

POST /api/auth/login
POST /api/auth/register
GET  /api/events
POST /api/events
PUT  /api/events/:id
DELETE /api/events/:id
POST /api/events/buy/:id
POST /api/purchases
GET  /api/purchases

🌱 Future Improvements

  • Role-based access control (Admin/User)
  • Payment integration (Stripe/Razorpay)
  • Event image upload
  • Responsive UI (e.g., Tailwind CSS)

✍ Author

  • Srushtee Patil

πŸ“ Submitted to

  • ETHUS MERN Stack Certification

About

A full stack MERN application with a React + Vite frontend and a Node.js + Express backend, developed as part of the ETHUS MERN Stack Certification.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors