Skip to content

Muler8905/Event_Registration_System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

29 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

EventHub - Professional Event Registration System

A comprehensive, full-stack event registration system built with React, Node.js, and modern web technologies. Features real-time analytics, professional UI/UX, and enterprise-grade functionality.

πŸš€ Key Features

Core Functionality

  • User Management: Registration, authentication, and profile management with JWT
  • Event Management: Create, edit, delete, and manage events with full CRUD operations
  • Registration System: Event registration with capacity management and status tracking
  • Admin Dashboard: Comprehensive admin panel with real-time analytics and monitoring
  • Email Notifications: Automated email confirmations and notifications

Advanced Features ✨

  • Real-time Analytics: Live dashboard updates with WebSocket connections
  • Professional Charts: Interactive data visualizations with smooth animations
  • Advanced Navigation: Forward/back navigation with breadcrumb trails
  • Dynamic Footer: Context-aware footer with admin-specific navigation
  • Export Functionality: CSV export and comprehensive data backup capabilities
  • System Health Monitoring: Real-time system status and performance metrics
  • Live Activity Feed: Real-time activity tracking with filtering and categorization

Professional UI/UX 🎨

  • Modern Design: Clean, professional interface with smooth animations and micro-interactions
  • Responsive Layout: Mobile-first design that works seamlessly on all devices
  • Interactive Components: Hover effects, transitions, and professional animations
  • Real-time Indicators: Live data updates with visual feedback and connection status
  • Professional Color Scheme: Carefully crafted color palette and typography system

πŸ›  Technology Stack

Frontend

  • React 18 with Vite for lightning-fast development
  • Tailwind CSS for utility-first styling with custom design system
  • React Router v6 for client-side routing
  • Socket.io Client for real-time WebSocket connections
  • React Hook Form + Zod for form handling and validation
  • Lucide React for consistent, professional iconography

Backend

  • Node.js with Express.js framework
  • Socket.io for real-time WebSocket connections and live updates
  • Prisma ORM with PostgreSQL database
  • JWT Authentication with bcrypt password hashing
  • Comprehensive API with rate limiting, CORS, and security middleware

Development & Deployment

  • ESLint & Prettier for code quality and consistency
  • Hot Module Replacement for fast development experience
  • Environment Configuration for different deployment stages
  • Professional Build Process with optimization and compression

πŸ“Š Enhanced Admin Dashboard

Real-time Analytics Dashboard

  • Live Data Updates: WebSocket-powered real-time statistics with connection indicators
  • Interactive Charts: Animated line, bar, and pie charts with hover effects and tooltips
  • System Health Monitoring: Memory usage, uptime, and active connection tracking
  • Revenue Analytics: Monthly revenue tracking with projections and growth metrics
  • Performance Metrics: Conversion rates, user growth, and engagement analytics

Professional Navigation System

  • Tab-based Interface: Organized sections for different admin functions
  • Forward/Back Navigation: Browser-like navigation with history management
  • Breadcrumb Navigation: Clear path indication with home links and truncation
  • Quick Actions Panel: One-click access to common admin tasks with keyboard shortcuts

Enhanced Components

  • Animated Stats Cards: Real-time updating statistics with visual indicators and trends
  • Advanced Activity Feed: Live activity stream with filtering, categorization, and pagination
  • Professional Data Tables: Sortable, searchable tables with bulk operations and status indicators
  • Export Tools: CSV export, JSON backup, and comprehensive data management

Management Sections

  • Event Management: Full CRUD operations with status tracking and capacity monitoring
  • User Management: User administration with role controls and bulk operations
  • Registration Management: Registration tracking with status updates and analytics
  • System Settings: Email configuration, security settings, and notification management

🎨 Professional Design System

Color Palette

  • Primary: Blue gradient (#3b82f6 to #0284c7) for primary actions and branding
  • Secondary: Purple gradient (#d946ef to #a21caf) for secondary elements
  • Success: Green (#22c55e) for positive actions and confirmations
  • Warning: Orange (#f59e0b) for warnings and important notices
  • Danger: Red (#ef4444) for errors and destructive actions

Typography System

  • Display Font: Poppins for headings, branding, and important text
  • Body Font: Inter for readable body text and interface elements
  • Monospace: For code, technical elements, and data display

Animation Framework

  • Fade In: Smooth entrance animations for content loading
  • Slide Up: Content reveal animations for dynamic sections
  • Bounce In: Interactive element animations for user feedback
  • Hover Effects: Subtle interaction feedback with scale and shadow effects
  • Loading States: Professional loading indicators and skeleton screens

πŸ”§ Installation & Setup

Prerequisites

  • Node.js 18+ and npm
  • PostgreSQL database (local or cloud)
  • Git for version control

Quick Start

  1. Clone the repository

    git clone <repository-url>
    cd eventhub
  2. Install all dependencies

    npm run install:all
  3. Setup Backend Environment

    cd backend
    cp .env.example .env
  4. Configure Environment Variables (see below for details)

  5. Setup Database

    npm run db:generate
    npm run db:push
    npm run db:seed
  6. Start Development Servers

    npm run dev

Environment Configuration

Backend (.env)

# Database
DATABASE_URL="postgresql://username:password@localhost:5432/eventhub"

# Authentication
JWT_SECRET="your-super-secret-jwt-key-minimum-32-characters"
JWT_EXPIRES_IN="7d"

# Email Service (for notifications)
EMAIL_HOST="smtp.gmail.com"
EMAIL_PORT=587
EMAIL_USER="your-email@gmail.com"
EMAIL_PASS="your-app-password"

# CORS and Security
FRONTEND_URL="http://localhost:5173"
NODE_ENV="development"
PORT=5000

Frontend (.env)

VITE_API_URL="http://localhost:5000"

πŸ“± Usage Guide

For End Users

  1. Account Management: Register or sign in with secure authentication
  2. Event Discovery: Browse events with advanced search and filtering
  3. Registration: Sign up for events with instant confirmation and email notifications
  4. Profile Management: Manage registrations and update profile information

For Administrators

  1. Dashboard Access: Login with admin credentials to access the comprehensive dashboard
  2. Real-time Monitoring: Monitor system health, user activity, and performance metrics
  3. Event Management: Create, edit, and manage events with full administrative control
  4. User Administration: Manage user accounts, roles, and permissions
  5. Analytics & Reports: View detailed analytics and export comprehensive reports
  6. System Configuration: Configure email settings, security options, and system preferences

πŸ” Security & Performance

Security Features

  • JWT Authentication with secure token handling and refresh mechanisms
  • Password Security using bcrypt with salt rounds
  • Rate Limiting to prevent abuse and DDoS attacks
  • Input Validation with comprehensive Zod schemas
  • CORS Configuration for secure cross-origin requests
  • Security Headers with Helmet.js middleware
  • Environment Isolation with secure environment variable management

Performance Optimizations

  • Code Splitting for optimized bundle loading
  • Lazy Loading for images and components
  • Caching Strategies for API responses and static assets
  • Database Indexing for fast query performance
  • Compression for reduced payload sizes
  • WebSocket Optimization for efficient real-time updates

πŸš€ Deployment

GitHub Pages (Frontend)

The frontend is automatically deployed to GitHub Pages using GitHub Actions.

Live Demo: https://muler8905.github.io/Event_Registration_System/

Automatic Deployment

  • Every push to main branch triggers automatic deployment
  • GitHub Actions workflow builds and deploys the frontend
  • No manual intervention required

Manual Deployment

# Build the frontend
cd frontend
npm run build

# Files are generated in frontend/dist/

Backend Deployment Options

Option 1: Heroku (Recommended)

# Create Heroku app
heroku create your-app-name

# Set environment variables
heroku config:set NODE_ENV=production
heroku config:set DATABASE_URL=your-database-url
heroku config:set JWT_SECRET=your-jwt-secret
heroku config:set FRONTEND_URL=https://muler8905.github.io/Event_Registration_System

# Deploy backend
git subtree push --prefix backend heroku main

Option 2: Railway/Render

  1. Connect your GitHub repository
  2. Select backend folder as root directory
  3. Set environment variables
  4. Deploy automatically

Production Environment Variables

Frontend (.env.production)

VITE_API_URL=https://your-backend-url.herokuapp.com/api
VITE_APP_NAME=EventHub
VITE_APP_VERSION=2.1.0
VITE_ENVIRONMENT=production

Backend (.env)

NODE_ENV=production
PORT=5000
DATABASE_URL=your-postgresql-database-url
JWT_SECRET=your-super-secret-jwt-key
FRONTEND_URL=https://muler8905.github.io/Event_Registration_System
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USER=mulukenugamo8@gmail.com
EMAIL_PASS=your-app-password

Production Build

# Frontend production build
cd frontend
npm run build

# Backend production setup
cd backend
npm run build

Production Environment

  • Configure production database with connection pooling
  • Set secure JWT secrets with sufficient entropy
  • Configure production email service (SendGrid, AWS SES, etc.)
  • Set up SSL certificates for HTTPS
  • Configure reverse proxy (nginx) for load balancing
  • Set up monitoring and logging (PM2, Winston)

πŸ“‹ Detailed Deployment Guide: See DEPLOYMENT.md for comprehensive deployment instructions.

πŸ“ˆ Advanced Features

Real-time Capabilities

  • WebSocket Integration: Live updates for admin dashboard
  • Connection Management: Automatic reconnection and fallback mechanisms
  • Real-time Notifications: Instant updates for new registrations and events
  • Live Activity Tracking: Real-time user activity and system events

Analytics & Reporting

  • Comprehensive Metrics: User engagement, event performance, and system health
  • Interactive Visualizations: Professional charts with animations and interactions
  • Export Capabilities: CSV, JSON, and PDF report generation
  • Historical Data: Trend analysis and historical performance tracking

Professional UI Components

  • Animated Statistics: Real-time updating stats with smooth animations
  • Interactive Charts: Hover effects, tooltips, and drill-down capabilities
  • Advanced Tables: Sorting, filtering, pagination, and bulk operations
  • Professional Forms: Multi-step forms with validation and error handling

🀝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow the existing code style and conventions
  • Add tests for new features
  • Update documentation as needed
  • Ensure all tests pass before submitting

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • React Team for the incredible framework and ecosystem
  • Tailwind CSS for the utility-first CSS framework
  • Prisma for the excellent ORM and database toolkit
  • Socket.io for real-time communication capabilities
  • Lucide for the beautiful and consistent icon library

πŸ“ž Support & Documentation

  • Email Support: mulukenugamo8@gmail.com
  • Documentation: Comprehensive inline documentation and comments
  • Issue Tracking: GitHub Issues for bug reports and feature requests
  • Community: Join our community for discussions and support

EventHub - Connecting people through professional events. Built with ❀️ for the community.

Version 2.1.0 - Professional Edition with Real-time Analytics

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages