🌐 Live at credenz.co.in
- 🎭 Immersive 3D Landing Page — Built with Three.js & WebGL fire particle effects that stay in GPU memory for instant transitions
- 🔐 Secure Authentication — JWT-based auth with OTP email verification, password reset via Nodemailer & bcrypt hashing
- 🎫 Event Management — Browse all Credenz events with detailed pages, categories, and dynamic content
- 🛒 Cart & Checkout System — Add events to cart, checkout seamlessly, and receive confirmation
- 🪪 Digital Event Passes — Auto-generated passes upon successful registration
- 👤 User Profiles — Manage account details, view registered events and passes
- 📧 Email Notifications — Automated emails via SMTP for OTP and registration confirmations
- 🚀 Performance Optimized — Lazy-loaded routes, code splitting, Terser minification
- 🛡️ Production-Grade Security — Helmet.js headers, CORS policy, rate limiting (100 req/15min)
- 📊 Analytics — Vercel Analytics integration for real-time traffic insights
| Category | Technologies |
|---|---|
| Frontend | React 18, Vite 6, Tailwind CSS v4 |
| 3D & Animation | Three.js, @react-three/fiber, @react-three/drei, GSAP, Framer Motion |
| Backend | Node.js 20, Express 5, TypeScript 5 |
| Database | PostgreSQL (Neon serverless), Prisma ORM |
| Authentication | JWT, bcryptjs, cookie-parser |
| Nodemailer (SMTP / Gmail) | |
| Validation | Zod |
| Security | Helmet.js, express-rate-limit, CORS |
| DevOps | Docker, Docker Compose, Vercel (Frontend) |
| Analytics | Vercel Analytics |
Credenz26/
├── Frontend/ # React + Vite frontend
│ ├── src/
│ │ ├── pages/
│ │ │ ├── landing/ # 3D Landing page
│ │ │ └── main/ # Events, Cart, Checkout, Profile, Auth...
│ │ ├── components/ # Reusable UI components
│ │ ├── context/ # Auth context & Protected routes
│ │ └── utils/ # Axios helpers & utilities
│ └── vite.config.js
│
└── Backend/ # Express + TypeScript API
├── src/
│ ├── routes/ # auth, event, cart, pass, order, profile, feedback
│ ├── controllers/ # Business logic per route
│ ├── middlewares/ # JWT auth
│ ├── utils/ # Email sender, OTP generator, helpers
│ └── index.ts # Entry point
├── prisma/ # Prisma schema & migrations
├── Dockerfile
└── docker-compose.yml
- Node.js 20+
- PostgreSQL database (or Neon serverless)
- Gmail App Password (for email OTP)
git clone https://github.com/Ashmit-Borawake/Credenz26.git
cd Credenz26cd Backend
# Install dependencies
npm install
# Configure environment variables
cp .env.sample .envEdit .env with your values:
DATABASE_URL="postgresql://user:password@host:5432/dbname?schema=public"
PORT=3000
JWT_SECRET=your_super_secret_jwt_key
OTP_EXPIRATION=300
# Email (Gmail SMTP)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=yourgmail@gmail.com
SMTP_PASS=your_app_password# Run Prisma migrations
npx prisma migrate deploy
# Start development server
npm run devcd ../Frontend
# Install dependencies
npm install
# Start development server
npm run devFrontend runs at http://localhost:5173 · Backend API at http://localhost:3000
You can run the backend with Docker Compose:
cd Backend
# Pull and run the container
docker-compose up -dOr build locally:
docker build -t credenz-backend .
docker run -p 3000:3000 --env-file .env credenz-backend| Method | Endpoint | Description | Auth |
|---|---|---|---|
POST |
/auth/signup |
Register new user | Public |
POST |
/auth/login |
Login with email & password | Public |
POST |
/auth/verify-otp |
Verify email OTP | Public |
GET |
/event |
Get all events | Public |
POST |
/feedback |
Submit feedback | Public |
GET |
/cart |
Get user's cart | 🔒 JWT |
POST |
/cart |
Add event to cart | 🔒 JWT |
POST |
/user/order |
Place order / checkout | 🔒 JWT |
GET |
/pass |
Get event pass | 🔒 JWT |
GET |
/profile |
Get user profile | 🔒 JWT |
| Route | Page |
|---|---|
/ |
🔥 3D Interactive Landing Page |
/events |
Events Listing |
/events/:eventName |
Event Detail & Registration |
/login |
Login |
/signup |
Sign Up |
/forgot-password |
Password Reset via OTP |
/cart |
Shopping Cart (protected) |
/checkout |
Checkout (protected) |
/profile |
User Profile & Passes (protected) |
/about-us |
About Credenz |
/sponsors |
Our Sponsors |
/web-team |
Meet the Web Team |
/contact-us |
Contact Us |
- Helmet.js — Secure HTTP headers
- Rate Limiting — 100 requests / 15 minutes per IP
- CORS — Whitelisted origins only (
credenz.co.in, localhost) - JWT — HttpOnly cookie-based token storage
- Bcrypt — Password hashing with salt rounds
- Zod — Request body schema validation
🌐 Visit the live site at credenz.co.in
Built with ❤️ by the Credenz Web Team — PICT
This project is proprietary software for Credenz, PICT. All rights reserved.
Made with ❤️ for Credenz — Where Passion Meets Technology