A comprehensive full-stack web application designed for university clubs to organize events and for students to discover, register, and participate in them. Built with modern technologies featuring AI-powered recommendations, intelligent chatbot assistance, automatic certificate generation, and advanced event management capabilities.
Frontend: [Deployed on Render]
Backend: [Deployed on Render]
- Email:
mashrur950@gmail.com - Password:
mashrur - Role: Club Admin (Full permissions)
- Email:
ahnufkarimchowdhury@gmail.com - Password:
ahnufkc - Role: Club Admin (Full permissions)
- Email:
tahsinaryan888@gmail.com - Password:
mashrur - Role: Student (Event browsing and registration)
- Secure User Registration with email verification
- JWT-based Authentication with refresh tokens
- Role-based Access Control (Student, Club Admin, Super Admin)
- Email Verification System with secure token validation
- Password Hashing using bcrypt
- Session Management with secure cookies
- Student Profiles with event history and preferences
- Club Admin Profiles with event creation permissions
- Profile Management with avatar uploads via Cloudinary
- User Dashboard with personalized statistics
- Role Assignment and permission management
- Event Creation with rich details (title, description, date, time, location)
- Event Categories (Technology, Arts, Sports, Academic, etc.)
- Image Upload for event posters with Cloudinary integration
- Event Editing and deletion for authorized users
- Event Status Tracking (upcoming, ongoing, completed, cancelled)
- Registration Deadline enforcement
- Maximum Attendee Limits with overflow handling
- Event Registration with one-click signup
- Registration Cancellation with deadline enforcement
- Waitlist Management for full events
- Attendance Tracking for event completion
- Registration History with detailed analytics
- Club Creation and administration
- Club Member Management with join requests
- Club Admin Assignment and permissions
- Club Event Association and management
- Club Statistics and performance tracking
- Hybrid ML Algorithm combining content-based and collaborative filtering
- Personalized Event Suggestions based on user behavior
- Trending Events with real-time popularity tracking
- Category-based Recommendations for specific interests
- Smart Scoring System with multiple weighted factors:
- Content Score (30%): Based on past event preferences
- Collaborative Score (30%): Similar user behavior analysis
- Popularity Score (20%): Current registration trends
- Club Affinity Score (20%): User's club memberships
- Cold Start Handling for new users
- Real-time Updates incorporating latest registration data
- 24/7 AI Assistant with natural language processing
- Floating Widget accessible from any page
- Full-screen Chat Interface at
/chatbotroute - Predefined Responses for common Eventify questions:
- How to register for events
- How to cancel registrations
- How to create/edit events (admin)
- Login and signup process
- Dashboard navigation
- Conversation History for authenticated users
- Quick Suggestion Buttons for common queries
- Context-aware Responses with smart matching algorithm
- Professional PDF Certificates with university branding
- Automatic Generation after event completion and attendance marking
- University Seal and professional design elements
- Unique Certificate Numbers for verification
- Multiple Certificate Templates with elegant styling
- Download Functionality with secure file serving
- Certificate Verification system with public URLs
- Bulk Certificate Generation for admins
- Certificate Management dashboard for users
- Email Verification for new user accounts
- Registration Confirmations for events
- Event Reminders and updates
- Form Validation with real-time feedback
- Error Handling with user-friendly messages
- Responsive Email Templates with professional styling
- 32 Beautiful Themes including light, dark, and custom designs
- Theme Persistence across browser sessions
- Smooth Theme Transitions with CSS animations
- Theme Icons for visual theme selection
- Responsive Theme Switching with dropdown interface
- Default Dim Theme for optimal user experience
- Smart Location Booking prevents double-booking
- Time Conflict Detection for overlapping events
- Automatic Validation during event creation
- Conflict Resolution suggestions for admins
- Real-time Availability checking
- Mobile-First Design with Tailwind CSS
- Fully Responsive across all device sizes
- Touch-Friendly Interface with large touch targets
- Smooth Animations and hover effects
- Loading States with skeleton loaders
- Error Boundaries and graceful error handling
- Accessibility Features with ARIA labels
- Tailwind CSS with daisyUI component library
- Professional Color Scheme with consistent branding
- Typography Hierarchy with proper font sizing
- Icon Integration with meaningful visual elements
- Card-based Layout for clean information organization
- Event Cards with hover effects and quick actions
- Dashboard Widgets with real-time statistics
- Modal Dialogs for confirmations and forms
- Toast Notifications for user feedback
- Progress Indicators for loading states
- Student Dashboard with personalized recommendations
- Admin Dashboard with event management tools
- Statistics Cards with visual data representation
- Quick Action Buttons for common tasks
- Recent Activity tracking and display
- MongoDB with Mongoose ODM
- Complex Relationships between users, events, clubs, and registrations
- Aggregation Pipelines for recommendation calculations
- Indexing Strategy for optimal query performance
- Data Validation with comprehensive schemas
- Live Updates for event registrations
- Real-time Statistics on dashboards
- Dynamic Content Loading with pagination
- WebSocket-ready architecture for future enhancements
- Cloudinary Integration for image uploads
- PDF Generation for certificates
- File Validation and security measures
- CDN Optimization for fast image delivery
- React 18 with modern hooks and context API
- Vite for fast development and building
- React Router v7 for client-side routing
- Tailwind CSS for utility-first styling
- daisyUI for pre-built components
- Axios for HTTP client communication
- Context API for state management
- Node.js with ES modules
- Express.js for RESTful API development
- MongoDB with Mongoose ODM
- JWT for authentication and authorization
- bcrypt for password hashing
- nodemailer for email services
- multer for file uploads
- Cloudinary for cloud image storage
- PDFKit for certificate generation
- helmet for security headers
- cors for cross-origin requests
- Hybrid Recommendation Algorithm (Content + Collaborative + Popularity)
- Natural Language Processing for chatbot responses
- Statistical Analysis for user behavior patterns
- Real-time Analytics for trending events
- Environment Variables for configuration
- CORS Configuration for cross-origin requests
- Security Headers with helmet
- Error Handling with comprehensive logging
- Production Build optimization
- Node.js (v16 or higher)
- MongoDB (local or Atlas)
- Git
- Cloudinary account (for image uploads)
-
Clone the repository
git clone <repository-url> cd Hackathon/backend
-
Install dependencies
npm install
-
Environment Variables Create a
.envfile in the backend directory:MONGODB_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret_key EMAIL_USER=your_gmail_address EMAIL_PASS=your_gmail_app_password EMAIL_FROM=your_gmail_address FRONTEND_URL=http://localhost:5173 PORT=3000 CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name CLOUDINARY_API_KEY=your_cloudinary_api_key CLOUDINARY_API_SECRET=your_cloudinary_api_secret
-
Start the server
npm run dev
-
Navigate to frontend directory
cd ../frontend -
Install dependencies
npm install
-
Start the development server
npm run dev
-
Open your browser Navigate to
http://localhost:5173
-
Account Setup
- Register with email verification
- Complete profile setup
- Explore available events
-
Event Discovery
- Browse all upcoming events
- Use search and filter options
- View personalized recommendations
- Check trending events
-
Event Participation
- Register for interesting events
- Manage your registrations
- Download certificates after completion
- Track your event history
-
AI Assistant
- Use the floating chatbot for help
- Ask questions about the platform
- Get instant support 24/7
-
Club Management
- Create and manage your club
- Add club members and admins
- Monitor club statistics
-
Event Creation
- Create new events with rich details
- Upload event images
- Set registration deadlines
- Configure attendee limits
-
Event Management
- Edit existing events
- Monitor registrations
- Mark attendance
- Generate certificates
-
Analytics & Reports
- View event performance
- Track attendance statistics
- Monitor certificate generation
- Analyze user engagement
POST /api/register- User registrationPOST /api/login- User loginGET /api/verify/:token- Email verificationPOST /api/logout- User logout
GET /api/user/profile- Get user profilePUT /api/user/profile- Update user profileGET /api/user/events- Get user's events
GET /api/event/future- Get upcoming eventsPOST /api/event/create/:clubId- Create new eventPUT /api/event/:id- Update eventDELETE /api/event/:id- Delete eventGET /api/event/:id- Get event details
POST /api/registration/:eventId- Register for eventDELETE /api/registration/:eventId- Unregister from eventGET /api/registration/event/:eventId- Get event registrations
POST /api/club/create- Create new clubGET /api/club/all- Get all clubsPUT /api/club/:id- Update clubPOST /api/club/:id/join- Join club
GET /api/recommendations/personalized- Get personalized recommendationsGET /api/recommendations/trending- Get trending eventsGET /api/recommendations/category/:category- Get category recommendations
POST /api/chat/send- Send message to chatbotGET /api/chat/suggestions- Get suggested questionsGET /api/chat/history- Get conversation history
POST /api/certificates/generate/:registrationId- Generate certificateGET /api/certificates/download/:certificateId- Download certificateGET /api/certificates/user/all- Get user certificates
cd backend
npm run test-certificate # Test certificate generation
npm run test-recommendations # Test recommendation system- โ User registration and email verification
- โ Login/logout functionality
- โ Event creation and management
- โ Event registration and cancellation
- โ Certificate generation and download
- โ Chatbot functionality
- โ Recommendation system
- โ Theme switching
- โ Responsive design
- โ Error handling
- Push code to GitHub
- Connect repository to Vercel/Netlify
- Set build command:
npm run build - Set output directory:
dist - Add environment variables
- Deploy
- Push code to GitHub
- Connect repository to Render/Railway
- Set build command:
npm install - Set start command:
npm start - Add environment variables
- Deploy
- Create MongoDB Atlas account
- Create cluster
- Get connection string
- Add to environment variables
- Authentication system with role-based access
- Student features (browse, register, dashboard)
- Admin features (create, edit, delete, manage)
- Clean and organized code structure
- Comprehensive error handling
- Responsive and user-friendly interface
- Modern design with Tailwind CSS and daisyUI
- Smooth animations and transitions
- Mobile-first approach
- Professional color scheme and typography
- File upload for event images (Cloudinary)
- Advanced search and filtering
- Pagination and sorting
- Real-time updates and statistics
- Complex database relationships
- ML-powered recommendation system
- Email notifications and form validation
- Chatbot for FAQs
- Automatic certificate generation
- Dark mode toggle
- Schedule collision prevention
- Responsive design across all devices
- Comprehensive error handling and validation
- Professional documentation and README
- Clean GitHub repository with proper commits
- Advanced analytics and statistics
- Real-time recommendation updates
- Professional certificate design
- Intelligent chatbot with context awareness
This project demonstrates excellent team collaboration with:
- Clear commit history with descriptive messages
- Feature-based development with proper branching
- Code review and testing practices
- Comprehensive documentation and README
- Consistent coding standards across the project
- Real-time Notifications with WebSocket integration
- Advanced Analytics Dashboard with detailed metrics
- Social Features including event sharing and comments
- Mobile App using React Native
- Advanced ML Models with TensorFlow.js integration
- Multi-language Support with internationalization
- Payment Integration for paid events
- Calendar Integration with Google Calendar sync
- Performance Optimization with caching strategies
- Advanced Security with rate limiting and encryption
- Microservices Architecture for scalability
- Automated Testing with Jest and Cypress
- CI/CD Pipeline with GitHub Actions
- Monitoring & Logging with advanced tools
This project is created for educational purposes as part of a hackathon.
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
For support or questions:
- Use the in-app chatbot (24/7 available)
- Check the comprehensive documentation
- Open an issue on GitHub
- Review the feature-specific README files
Eventify is a comprehensive university event management platform that successfully implements all hackathon requirements and goes beyond with advanced features like:
- AI-powered recommendations for personalized event discovery
- Intelligent chatbot for 24/7 user support
- Professional certificate generation with university branding
- Advanced event management with collision prevention
- Modern responsive design with theme customization
- Robust security with comprehensive authentication
The platform provides an exceptional user experience for both students and club administrators, making event management efficient, engaging, and professional.
All hackathon requirements successfully implemented with advanced bonus features
Built with passion for academic excellence