A robust, full-stack MERN application designed to streamline technical event management. This platform facilitates seamless event registration, automated certificate generation, speaker management, and provides specialized dashboards for Admins and Volunteers.
- Browse Events: Explore upcoming and past events with search and filtering capabilities (by date, venue, or name).
- Easy Registration: One-click registration for authenticated users.
- Digital Tickets: Users receive digital tickets via email and can view them in their profile.
- Responsive UI: Fully optimized interface for mobile, tablet, and desktop devices.
- Memories Gallery: A visual gallery showcasing highlights from past community events.
- Event Control: Create, update, and delete events with rich text descriptions and image uploads.
- Certificate Designer: A drag-and-drop tool to customize certificate layouts (positioning text, names, and QR codes).
- Bulk Actions: Generate and email certificates to all attendees in a single click.
- Volunteer Management: onboard and manage volunteer roles and permissions.
- Analytics: Real-time overview of registrations and user engagement.
- Automated Generation: Server-side PDF generation using
pdf-lib. - Dynamic Customization: Admins can adjust font sizes, families, and coordinates for printing names on certificates.
- Email Integration: Automatically emails the PDF certificate to attendees upon event completion.
- Framework: React.js (Vite)
- Language: JavaScript (ES6+)
- Styling: Tailwind CSS, Shadcn UI
- State Management: TanStack Query (React Query)
- Routing: React Router DOM v6
- Forms: React Hook Form
- HTTP Client: Axios
- Runtime: Node.js
- Framework: Express.js
- Database: MongoDB (Mongoose ODM)
- Authentication: JWT (JSON Web Tokens)
- PDF Processing: PDF-Lib
- Image Handling: Multer
- Email Service: Nodemailer
Follow these steps to set up the project locally.
Ensure you have the following installed on your machine:
git clone [https://github.com/your-username/codebuilders.git](https://github.com/your-username/codebuilders.git)
cd codebuilders
# 🛠️ CodeBuilders Backend API
The server-side application for the CodeBuilders Platform. Built with Node.js, Express, and MongoDB, it handles event management, user authentication, PDF certificate generation, and email notifications.
## 📂 Project Structure
```bash
server/
├── controllers/ # Business logic for each route
├── middleware/ # Auth checks & file upload handling
├── models/ # Mongoose Database Schemas
├── routes/ # API Endpoint definitions
├── utils/ # Helpers (PDF Generator, Emailer)
├── uploads/ # Local storage for event images/certificates
└── index.js # Entry point
cd server
npm install
# Server Configuration
PORT=5000
NODE_ENV=development
# Database Connection
MONGO_URI=mongodb://localhost:27017/codebuilders
# Or use MongoDB Atlas URI: mongodb+srv://<user>:<password>@cluster.mongodb.net/codebuilders
# Security
JWT_SECRET=your_super_complex_secret_key_123
# Frontend URL (For CORS & Links)
FRONTEND_URL=http://localhost:5173
# Email Service (Nodemailer)
# Note: For Gmail, use an App Password, not your login password.
EMAIL_USER=your_email@gmail.com
EMAIL_PASS=your_gmail_app_password
# Development Mode (with Nodemon for auto-restart)
npm run dev
# Production Mode
npm start