Skip to content

Repository files navigation

๐ŸŽ‰ Eventify - University Club Event Management Platform

Eventify Logo

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.

๐Ÿš€ Live Demo

Frontend: [Deployed on Render]
Backend: [Deployed on Render]

๐Ÿ” Demo Credentials

Admin Account - 1

  • Email: mashrur950@gmail.com
  • Password: mashrur
  • Role: Club Admin (Full permissions)

Admin Account - 2

  • Email: ahnufkarimchowdhury@gmail.com
  • Password: ahnufkc
  • Role: Club Admin (Full permissions)

Student Account

  • Email: tahsinaryan888@gmail.com
  • Password: mashrur
  • Role: Student (Event browsing and registration)

โœจ Complete Feature Overview

๐ŸŽฏ Core Features (MVP)

๐Ÿ” Authentication & Authorization

  • 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

๐Ÿ‘ฅ User Management

  • 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 Management System

  • 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

๐ŸŽซ Registration System

  • 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 Management

  • 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

๐Ÿค– Advanced Features

๐Ÿง  AI-Powered Recommendation System

  • 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

๐Ÿ’ฌ Intelligent Chatbot Assistant

  • 24/7 AI Assistant with natural language processing
  • Floating Widget accessible from any page
  • Full-screen Chat Interface at /chatbot route
  • 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

๐Ÿ† Automatic Certificate Generation

  • 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 Notifications & Validation

  • 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

๐ŸŒ™ Dark Mode & Theme System

  • 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

โฐ Schedule Collision Prevention

  • 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

๐Ÿ“ฑ Responsive Design & UX

  • 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

๐ŸŽจ UI/UX Features

๐ŸŽจ Modern Design System

  • 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

๐ŸŽญ Interactive Components

  • 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

๐Ÿ“Š Dashboard Features

  • 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

๐Ÿ”ง Technical Complexity

๐Ÿ—„๏ธ Advanced Database Design

  • 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

๐Ÿ”„ Real-time Features

  • Live Updates for event registrations
  • Real-time Statistics on dashboards
  • Dynamic Content Loading with pagination
  • WebSocket-ready architecture for future enhancements

๐Ÿ“ File Management

  • Cloudinary Integration for image uploads
  • PDF Generation for certificates
  • File Validation and security measures
  • CDN Optimization for fast image delivery

๐Ÿ› ๏ธ Tech Stack

Frontend

  • 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

Backend

  • 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

AI/ML Features

  • Hybrid Recommendation Algorithm (Content + Collaborative + Popularity)
  • Natural Language Processing for chatbot responses
  • Statistical Analysis for user behavior patterns
  • Real-time Analytics for trending events

DevOps & Deployment

  • Environment Variables for configuration
  • CORS Configuration for cross-origin requests
  • Security Headers with helmet
  • Error Handling with comprehensive logging
  • Production Build optimization

๐Ÿ“ฆ Installation & Setup

Prerequisites

  • Node.js (v16 or higher)
  • MongoDB (local or Atlas)
  • Git
  • Cloudinary account (for image uploads)

Backend Setup

  1. Clone the repository

    git clone <repository-url>
    cd Hackathon/backend
  2. Install dependencies

    npm install
  3. Environment Variables Create a .env file 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
  4. Start the server

    npm run dev

Frontend Setup

  1. Navigate to frontend directory

    cd ../frontend
  2. Install dependencies

    npm install
  3. Start the development server

    npm run dev
  4. Open your browser Navigate to http://localhost:5173

๐ŸŽฎ Usage Guide

For Students

  1. Account Setup

    • Register with email verification
    • Complete profile setup
    • Explore available events
  2. Event Discovery

    • Browse all upcoming events
    • Use search and filter options
    • View personalized recommendations
    • Check trending events
  3. Event Participation

    • Register for interesting events
    • Manage your registrations
    • Download certificates after completion
    • Track your event history
  4. AI Assistant

    • Use the floating chatbot for help
    • Ask questions about the platform
    • Get instant support 24/7

For Club Admins

  1. Club Management

    • Create and manage your club
    • Add club members and admins
    • Monitor club statistics
  2. Event Creation

    • Create new events with rich details
    • Upload event images
    • Set registration deadlines
    • Configure attendee limits
  3. Event Management

    • Edit existing events
    • Monitor registrations
    • Mark attendance
    • Generate certificates
  4. Analytics & Reports

    • View event performance
    • Track attendance statistics
    • Monitor certificate generation
    • Analyze user engagement

๐Ÿ”ง API Endpoints

Authentication

  • POST /api/register - User registration
  • POST /api/login - User login
  • GET /api/verify/:token - Email verification
  • POST /api/logout - User logout

Users

  • GET /api/user/profile - Get user profile
  • PUT /api/user/profile - Update user profile
  • GET /api/user/events - Get user's events

Events

  • GET /api/event/future - Get upcoming events
  • POST /api/event/create/:clubId - Create new event
  • PUT /api/event/:id - Update event
  • DELETE /api/event/:id - Delete event
  • GET /api/event/:id - Get event details

Registration

  • POST /api/registration/:eventId - Register for event
  • DELETE /api/registration/:eventId - Unregister from event
  • GET /api/registration/event/:eventId - Get event registrations

Clubs

  • POST /api/club/create - Create new club
  • GET /api/club/all - Get all clubs
  • PUT /api/club/:id - Update club
  • POST /api/club/:id/join - Join club

Recommendations

  • GET /api/recommendations/personalized - Get personalized recommendations
  • GET /api/recommendations/trending - Get trending events
  • GET /api/recommendations/category/:category - Get category recommendations

Chatbot

  • POST /api/chat/send - Send message to chatbot
  • GET /api/chat/suggestions - Get suggested questions
  • GET /api/chat/history - Get conversation history

Certificates

  • POST /api/certificates/generate/:registrationId - Generate certificate
  • GET /api/certificates/download/:certificateId - Download certificate
  • GET /api/certificates/user/all - Get user certificates

๐Ÿงช Testing

Backend Tests

cd backend
npm run test-certificate  # Test certificate generation
npm run test-recommendations  # Test recommendation system

Manual Testing Checklist

  1. โœ… User registration and email verification
  2. โœ… Login/logout functionality
  3. โœ… Event creation and management
  4. โœ… Event registration and cancellation
  5. โœ… Certificate generation and download
  6. โœ… Chatbot functionality
  7. โœ… Recommendation system
  8. โœ… Theme switching
  9. โœ… Responsive design
  10. โœ… Error handling

๐Ÿš€ Deployment

Frontend (Vercel/Netlify)

  1. Push code to GitHub
  2. Connect repository to Vercel/Netlify
  3. Set build command: npm run build
  4. Set output directory: dist
  5. Add environment variables
  6. Deploy

Backend (Render/Railway)

  1. Push code to GitHub
  2. Connect repository to Render/Railway
  3. Set build command: npm install
  4. Set start command: npm start
  5. Add environment variables
  6. Deploy

Database (MongoDB Atlas)

  1. Create MongoDB Atlas account
  2. Create cluster
  3. Get connection string
  4. Add to environment variables

๐Ÿ† Hackathon Features Implemented

โœ… Core Requirements

  • 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

โœ… UI/UX Design

  • Responsive and user-friendly interface
  • Modern design with Tailwind CSS and daisyUI
  • Smooth animations and transitions
  • Mobile-first approach
  • Professional color scheme and typography

โœ… Technical Complexity

  • File upload for event images (Cloudinary)
  • Advanced search and filtering
  • Pagination and sorting
  • Real-time updates and statistics
  • Complex database relationships

โœ… Challenges & Creativity

  • ML-powered recommendation system
  • Email notifications and form validation
  • Chatbot for FAQs
  • Automatic certificate generation
  • Dark mode toggle
  • Schedule collision prevention

โœ… Bonus Features

  • 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

๐Ÿ‘ฅ Team Collaboration

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

๐Ÿ”ฎ Future Enhancements

๐Ÿš€ Advanced Features

  • 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

๐Ÿ”ง Technical Improvements

  • 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

๐Ÿ“„ License

This project is created for educational purposes as part of a hackathon.

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

๐Ÿ“ž Support

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

๐ŸŽ‰ Project Summary

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

About

Live URL

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages