Skip to content

SrashtiChauhan/PulseMeet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

16 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ PulseMeet

Modern Event Registration & Management Platform

Built with Next.js, React, TypeScript, MongoDB & NextAuth.js


Next.js React TypeScript TailwindCSS MongoDB NextAuth


๐Ÿ“– Overview

PulseMeet is a modern full-stack Event Registration & Management Platform inspired by event platforms such as Luma.

The application enables hosts to create and manage public events while allowing attendees to discover, register, and track their participation through secure dashboards.

This project demonstrates full-stack development skills including authentication, database integration, secure registration workflows, role-based access control, attendee management, and CSV export functionality.


๐ŸŒ Live Demo

https://pulse-meet-nine.vercel.app


๐ŸŒŸ Core Features

๐Ÿ‘จโ€๐Ÿ’ผ Host Features

  • Secure Host Registration & Login
  • Create Public Events
  • Edit Existing Events
  • Delete Events
  • Manage Event Registrations
  • View Attendee Information
  • Search Attendees
  • Export Attendee Lists as CSV
  • Capacity Management
  • Registration Deadline Controls

๐ŸŽŸ๏ธ Attendee Features

  • Secure Registration & Login
  • Register for Public Events
  • View Registered Events
  • Track Event Participation
  • Access Event Details

๐ŸŒ Public Features

  • Public Event Pages
  • Shareable Event URLs
  • Event Information Display
  • Registration Status Visibility
  • Live Attendee Counts

๐Ÿ”’ Security Features

  • Password Hashing with bcryptjs
  • JWT Session Authentication
  • Protected Host Dashboards
  • Role-Based Access Control
  • Event Ownership Verification
  • Duplicate Registration Prevention
  • Passwords Never Exposed in APIs
  • Passwords Never Exported in CSV Reports

โœ… Bonus Features Implemented

  • Duplicate Registration Prevention
  • Capacity Limit Enforcement
  • Registration Cutoff Date & Time
  • Public Attendee Count Display
  • Event Editing
  • Event Deletion
  • Attendee Search & Filtering
  • CSV Export Functionality
  • Responsive Mobile-First UI
  • Modern Animated User Interface

๐Ÿ› ๏ธ Tech Stack

Frontend

  • Next.js (App Router)
  • React 19
  • TypeScript
  • Tailwind CSS v4
  • Framer Motion
  • Lucide React

Backend

  • Next.js Route Handlers
  • NextAuth.js
  • bcryptjs

Database

  • MongoDB Atlas
  • Mongoose ODM

Deployment

  • Vercel
  • MongoDB Atlas

๐Ÿ—๏ธ Architecture

PulseMeet follows a modern full-stack architecture consisting of four layers:

Presentation Layer

  • React Components
  • Next.js App Router
  • Tailwind CSS
  • Framer Motion

Application Layer

  • Route Handlers
  • Business Logic
  • Validation
  • Authorization

Authentication Layer

  • NextAuth.js
  • JWT Sessions
  • Password Verification

Data Layer

  • MongoDB Atlas
  • Mongoose Models

๐Ÿ“‚ Project Structure

src/
โ”œโ”€โ”€ app/
โ”‚   โ”œโ”€โ”€ (auth)/
โ”‚   โ”œโ”€โ”€ api/
โ”‚   โ”œโ”€โ”€ attendee/
โ”‚   โ”œโ”€โ”€ dashboard/
โ”‚   โ””โ”€โ”€ events/
โ”‚
โ”œโ”€โ”€ components/
โ”œโ”€โ”€ lib/
โ”œโ”€โ”€ models/
โ”œโ”€โ”€ types/
โ””โ”€โ”€ docs/

๐Ÿ—„๏ธ Database Models

User

Stores:

  • Name
  • Email
  • Password (Hashed)
  • Role (HOST / ATTENDEE)

Event

Stores:

  • Title
  • Description
  • Date
  • Time
  • Location
  • Host Information
  • Capacity
  • Registration Cutoff
  • Event Status

Registration

Stores:

  • Event Reference
  • Attendee Reference

A compound unique constraint prevents duplicate registrations.


๐Ÿ”Œ API Capabilities

Authentication

  • User Registration
  • User Login
  • Session Management

Event Management

  • Create Event
  • Edit Event
  • Delete Event
  • Fetch Events

Registration

  • Register for Event
  • Duplicate Registration Prevention
  • Capacity Validation
  • Registration Cutoff Validation

Dashboard

  • View Attendees
  • Search Attendees
  • CSV Export

๐Ÿ“ธ Screenshots

๐Ÿ  Home Page

Home Page


๐Ÿ‘จโ€๐Ÿ’ผ Host Dashboard

Host Dashboard


๐ŸŒ Public Event Page

Public Event Page


๐ŸŽŸ๏ธ Attendee Dashboard

Attendee Dashboard


โš™๏ธ Environment Variables

Create a .env.local file:

MONGODB_URI=your_mongodb_connection_string

NEXTAUTH_SECRET=your_secret_key

NEXTAUTH_URL=http://localhost:3000

๐Ÿš€ Local Setup

1. Clone Repository

git clone https://github.com/SrashtiChauhan/PulseMeet.git

2. Navigate into Project

cd PulseMeet

3. Install Dependencies

npm install

4. Configure Environment Variables

Create:

.env.local

Add the required variables.


5. Run Development Server

npm run dev

Open:

http://localhost:3000

๐Ÿ“š Documentation

Detailed project documentation is available in the /docs directory.

  • API Documentation
  • Architecture Documentation
  • Deployment Guide
  • Functional Architecture Document (FAD)
  • Feature Traceability List (FTL)
  • Product Requirements Document (PRD)
  • System Architecture Document (SAD)
  • Technical Architecture Document (TAD)

๐Ÿ”ฎ Future Enhancements

Potential future improvements include:

  • Event Categories
  • Event Images & Banners
  • Social Authentication
  • Email Notifications
  • Analytics Dashboard
  • Event Discovery Filters
  • Attendance Tracking
  • Community Event Recommendations

๐Ÿ‘ฉโ€๐Ÿ’ป Author

Srashti Chauhan


๐Ÿ“„ License

This project is intended for educational, learning, and internship evaluation purposes.

About

๐Ÿš€ PulseMeet ~ A modern event registration and management platform enabling hosts to create public events, manage attendees, export registrations, and provide attendees with a seamless event discovery and registration experience.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors