A professional, responsive React.js web application for browsing and booking events across multiple categories.
Live Demo: https://bookingappexe.netlify.app
Source Code: https://github.com/monuwu/eventbookingapp
EventHub is a production-ready event booking web application built with React.js and Tailwind CSS. It provides a seamless user experience for discovering, viewing, and booking events across various categories including Music, Technology, Sports, Art, Food, and Entertainment.
- Modern UI/UX - Clean, professional design with smooth animations
- Responsive Design - Works perfectly on desktop, tablet, and mobile devices
- Smart Cart System - Context API-based state management with localStorage persistence
- Advanced Filtering - Search, sort, and filter events by multiple criteria
- Mobile-First Approach - Optimized for all screen sizes
- Performance Optimized - Fast loading with optimized code
- Grid-based card layout with event information
- Real-time search functionality
- Category filtering (8 categories)
- Multiple sorting options (by date, price, name)
- Responsive design with smooth animations
- Full-screen banner image
- Comprehensive event information
- Sticky booking card with pricing
- "Add to Cart" functionality
- Event tags and categories
- List of selected events with images
- Remove item functionality
- Real-time total calculation
- Order summary
- Checkout simulation
- Empty cart state
- Toast notification system
- LocalStorage cart persistence
- Duplicate prevention
- Smooth page transitions
- Professional footer with links
- React 18.2 - Modern React with Hooks
- React Router DOM 6.20 - Client-side routing
- Tailwind CSS 3.3 - Utility-first CSS framework
- Context API - Global state management
- LocalStorage API - Data persistence
- Netlify - Hosting and deployment
eventbookingapp/
├── public/
│ └── index.html
├── src/
│ ├── components/ # Reusable components
│ │ ├── Navbar.js
│ │ ├── Footer.js
│ │ ├── EventCard.js
│ │ └── Notification.js
│ ├── pages/ # Page components
│ │ ├── EventList.js
│ │ ├── EventDetails.js
│ │ └── BookingCart.js
│ ├── context/ # State management
│ │ └── BookingContext.js
│ ├── data/ # Mock data
│ │ └── events.js
│ ├── App.js
│ ├── index.js
│ └── index.css
├── package.json
├── tailwind.config.js
└── README.md
- Node.js (v14 or higher)
- npm (v6 or higher)
-
Install Dependencies
npm install
-
Start Development Server
npm start
The app will open at
http://localhost:3000 -
Build for Production
npm run build
Visit the deployed application: https://bookingappexe.netlify.app
- Browse 12 diverse events
- Search for events (try "music" or "tech")
- Filter by category
- Sort by date/price/name
- Click an event to view details
- Add events to cart
- View and manage cart
- Test responsive design (resize browser)
Browse events with search, filter, and sorting capabilities
Detailed event information with booking functionality
Manage selected events and view total amount
- Functional components with Hooks
- useState, useEffect, useContext, useMemo
- Custom Context API for state management
- React Router for navigation
- Component composition and reusability
- Global cart state with Context API
- LocalStorage integration for persistence
- Real-time updates across components
- Duplicate prevention logic
- Tailwind CSS utility classes
- Custom color palette (Blue & Purple gradients)
- Smooth animations (fade-in, slide-up, scale-in)
- Hover effects and transitions
- Responsive breakpoints (mobile, tablet, desktop)
- Professional typography and spacing
The application features events across 8 categories:
- Music - Concerts, festivals, live performances
- Technology - Conferences, summits, workshops
- Sports - Games, marathons, championships
- Art - Exhibitions, gallery shows
- Food - Food festivals, wine tastings
- Entertainment - Comedy shows, theater
- Business - Networking, pitch competitions
- Wellness - Yoga retreats, wellness events
- Clean, maintainable code structure
- Reusable component architecture
- Separation of concerns
- DRY principle (Don't Repeat Yourself)
- Consistent naming conventions
- Code comments where needed
- Memoized filtering and sorting (useMemo)
- Optimized image loading
- Code splitting with React Router
- Production build optimization
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Mobile browsers (iOS Safari, Chrome Mobile)
This project demonstrates proficiency in:
- React Fundamentals - Components, Props, State, Hooks
- State Management - Context API, localStorage
- Routing - React Router DOM, dynamic routes
- Styling - Tailwind CSS, responsive design
- UX Design - Loading states, notifications, empty states
- Code Organization - Clean architecture, component separation
- Deployment - Git, Netlify, CI/CD
Built as a React.js demonstration project showcasing modern web development practices and best practices.
Technologies: React • Tailwind CSS • Context API • React Router • Netlify
This project is open source and available for educational purposes.
Live Demo: https://bookingappexe.netlify.app
Built with React & Tailwind CSS