Full-stack MERN event management app with OTP auth, student & institution dashboards, and email onboarding — deployed via Vercel & Render.
EventInn is a full-stack event management platform where institutions can post events and students can register for them — built with MongoDB, Express, React, Node.js, and styled with TailwindCSS.
Includes: JWT Auth, OTP verification, Email onboarding, Role-based Dashboards, Protected Routes, and Deployment on Vercel + Render.
-
👥 Two user roles: Students & Institutions
-
🔐 Secure Auth: JWT-based login & protected routes
-
🔄 OTP Verification during registration
-
📩 Welcome Emails sent on signup
-
🧑🏫 Institutions can:
- Register/Login
- Post Events
- View number of enrolled students
-
🎓 Students can:
- Register/Login
- Enroll into events
- View their enrolled events
-
🌍 Fully deployed on Render (API) + Vercel (Client)
- Frontend: React.js, TailwindCSS
- Backend: Node.js, Express.js
- Database: MongoDB (Mongoose ODM)
- Auth: JWT, OTP, bcrypt
- Email: Nodemailer via SMTP (Gmail)
- Deploy: Vercel (frontend), Render (backend)
git clone https://github.com/anshu2k24/EventInn.git
cd EventInncd backend
npm installCreate a .env file in /backend with the following:
MONGO_URI=your_mongodb_connection_string
PORT=5000
JWT_SECRET=your_secret_key
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your_gmail_email
SMTP_PASS=your_gmail_app_password
Run the backend:
node server.jscd ../frontend
npm install
npm run devIf you're testing without email/OTP setup:
-
Institution:
- Email: inst@example.com
- Password: ******
-
Student:
- Email: stud@example.com
- Password: ******
Pull requests are welcome. For major changes, open an issue first to discuss what you'd like to change.
- Role-based user management
- Email + OTP verification flow
- JWT tokens for secure auth
- MongoDB modeling with Mongoose
- Route protection & middleware
- Full deployment via Vercel & Render
Drop a ⭐ if this helped, or connect on LinkedIn!






