An intelligent museum ticketing system that revolutionizes the visitor experience through AI-powered chatbot interactions and comprehensive analytics. Developed for Smart India Hackathon 2024 Internal Competition (September 2024).
This project was developed as part of our Smart India Hackathon Internal Competition in September 2024. The system addresses the challenge of modernizing museum ticketing systems by providing an intelligent, user-friendly platform that combines AI-powered chatbot assistance with robust analytics for better operational insights.
Traditional museum ticketing systems often lack:
- Interactive user assistance
- Real-time availability information
- Comprehensive analytics for management
- Modern, intuitive user interfaces
- Automated booking confirmation systems
Our Online Chatbot-Based Ticketing System provides:
- AI-Powered Chatbot: Dialogflow integration for natural language ticket booking
- Real-time Analytics: Comprehensive dashboard for admins with earning insights
- Modern UI/UX: React-based responsive frontend with dark/light themes
- Automated Notifications: Email confirmations for successful bookings
- Multi-role Access: Separate interfaces for users and administrators
- Natural Language Processing via Google Dialogflow
- Interactive Ticket Booking through conversational interface
- Real-time Availability checking and seat reservation
- Multi-language Support for diverse user base
- Secure Authentication system
- User Dashboard with booking history
- Profile Management with customizable settings
- Theme Toggle (Dark/Light mode)
- Comprehensive Analytics with visual charts
- Revenue Tracking and financial insights
- User Management with detailed user information
- Show Management for scheduling events
- Real-time Monitoring of system performance
- PowerBI Integration for advanced analytics
- Revenue Visualization with interactive charts
- Booking Trends analysis
- Performance Metrics tracking
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Frontend โ โ Backend โ โ Database โ
โ (React.js) โโโโโบโ (FastAPI) โโโโโบโ (MongoDB) โ
โ โ โ โ โ โ
โ โข User Interfaceโ โ โข API Endpoints โ โ โข User Data โ
โ โข Admin Panel โ โ โข Business Logicโ โ โข Booking Info โ
โ โข Chatbot UI โ โ โข Email Service โ โ โข Analytics โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโ
โ โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Dialogflow โ โ Email โ
โ (Chatbot) โ โ Service โ
โ โ โ (SMTP) โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
- React.js 18.3.1 - Modern UI framework
- Tailwind CSS - Utility-first CSS framework
- React Router DOM - Client-side routing
- Framer Motion - Animation library
- Recharts - Data visualization
- PowerBI Client - Business intelligence integration
- Axios - HTTP client for API calls
- FastAPI 0.112.2 - High-performance Python web framework
- MongoDB - NoSQL database with Motor async driver
- Pydantic - Data validation and serialization
- Python-dotenv - Environment variable management
- Uvicorn - ASGI server implementation
- Google Dialogflow - Natural language understanding
- SMTP Email Service - Automated notifications
- PowerBI - Advanced analytics and reporting
- Vercel - Frontend and API deployment
- MongoDB Atlas - Cloud database hosting
Online-Chatbot-Based-Ticketing-System/
โโโ ๐ Backend/
โ โโโ ๐ app/
โ โ โโโ ๐ main.py # FastAPI application entry point
โ โ โโโ ๐๏ธ database.py # MongoDB connection and collections
โ โ โโโ ๐ model.py # Pydantic data models
โ โ โโโ โ insert.py # Data insertion utilities
โ โ โโโ ๐ admin/ # Admin-specific endpoints
โ โ โโโ ๐ models/ # Database models
โ โ โโโ ๐ schemas/ # API schemas
โ โโโ ๐ chatbot/
โ โโโ ๐ค chatbot.py # Dialogflow webhook handler
โ โโโ ๐งช chatbottest.py # Chatbot testing utilities
โโโ ๐ Frontend/
โ โโโ ๐ package.json # Dependencies and scripts
โ โโโ ๐จ tailwind.config.js # Tailwind CSS configuration
โ โโโ ๐ public/ # Static assets
โ โโโ ๐ src/
โ โโโ ๐ App.js # Main React application
โ โโโ ๐ home.js # Landing page component
โ โโโ ๐ components/ # Reusable UI components
โ โโโ ๐ pages/ # Page components
โ โโโ ๐ images/ # Image assets
โ โโโ ๐ styles/ # CSS stylesheets
โโโ ๐ requirements.txt # Python dependencies
โโโ ๐ vercel.json # Deployment configuration
โโโ ๐ README.md # Project documentation
- Node.js (v16 or higher)
- Python (v3.8 or higher)
- MongoDB instance
- Google Cloud Account (for Dialogflow)
git clone https://github.com/yourusername/Online-Chatbot-Based-Ticketing-System.git
cd Online-Chatbot-Based-Ticketing-System# Navigate to backend directory
cd Backend
# Create virtual environment
python -m venv venv
# Activate virtual environment
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate
# Install dependencies
pip install -r ../requirements.txt
# Set up environment variables
# Create .env file with:
# MONGODB_URI=your_mongodb_connection_string
# EMAIL_PASSWORD=your_email_app_password
# SENDER_EMAIL=your_sender_email
# Run the backend server
uvicorn app.main:app --reload --port 8000# Navigate to frontend directory
cd Frontend
# Install dependencies
npm install
# Start development server
npm start- Create a new project in Google Cloud Console
- Enable Dialogflow API
- Create a new Dialogflow agent
- Configure webhook URL pointing to your backend
- Train the agent with museum-specific intents
- Browse Events: View available museum shows and exhibitions
- Chat with Bot: Use the integrated chatbot for quick bookings
- Manual Booking: Use the traditional booking interface
- View Dashboard: Check your booking history and profile
- Receive Confirmations: Get email notifications for successful bookings
- Analytics Dashboard: Monitor booking trends and revenue
- User Management: View and manage registered users
- Show Management: Create and manage museum events
- Financial Reports: Access detailed earning reports
- System Monitoring: Track system performance and usage
POST /login- User authenticationPOST /register- User registration
GET /shows- Retrieve available showsPOST /book-ticket- Book ticketsGET /user-bookings/{user_id}- Get user bookings
GET /admin/analytics- Get system analyticsGET /admin/users- Retrieve all usersPOST /admin/shows- Create new showsGET /admin/earnings- Financial reports
POST /chatbot/webhook- Dialogflow webhookPOST /reserve_tickets- Reserve tickets via chatbot
- Booking Patterns: Track peak booking times
- Popular Shows: Identify trending events
- User Demographics: Age and preference analysis
- Revenue Tracking: Daily, weekly, monthly reports
- Profit Margins: Calculate operational profits
- Payment Analytics: Transaction success rates
- System Performance: Response times and uptime
- User Engagement: Chatbot interaction rates
- Conversion Rates: Booking completion statistics
- Responsive Design: Mobile-first approach
- Dark/Light Theme: User preference toggle
- Accessibility: WCAG compliant interface
- Modern Animations: Smooth transitions with Framer Motion
- Intuitive Navigation: Clear user flow
- Interactive Elements: Engaging UI components
- Real-time Updates: Live data synchronization
- Error Handling: User-friendly error messages
- JWT Authentication: Secure token-based auth
- Input Validation: Pydantic model validation
- CORS Protection: Controlled cross-origin requests
- Data Encryption: Secure password hashing
- Email Verification: Automated confirmation system
# Install Vercel CLI
npm i -g vercel
# Deploy from root directory
vercel --prod- Frontend: Build and deploy to any static hosting service
- Backend: Deploy to any Python hosting platform (Heroku, Railway, etc.)
- Database: Use MongoDB Atlas for cloud hosting
- Environment Variables: Configure all required env vars in production
This project was developed by our team for the Smart India Hackathon 2024 Internal Competition held in September 2024.
- Google Dialogflow - For AI chatbot capabilities
- MongoDB Atlas - Cloud database hosting
- Vercel - Deployment and hosting
- PowerBI - Advanced analytics integration
- EmailJS/SMTP - Email notification service
- Mobile App: React Native mobile application
- Multi-language: Extended language support
- AR Integration: Augmented reality museum previews
- AI Recommendations: Personalized show suggestions
- Social Integration: Social media sharing capabilities
- Loyalty Program: User reward system
- Microservices: Break down monolithic structure
- Real-time Chat: WebSocket integration
- Advanced Analytics: Machine learning insights
- Performance Optimization: Caching and CDN integration
- Testing Suite: Comprehensive automated testing
- Dialogflow Rate Limits: May need quota management for high traffic
- Email Service: Dependency on SMTP service availability
- Mobile Responsiveness: Some admin panel components need optimization
- Browser Compatibility: Limited testing on older browsers
This project is licensed under the MIT License - see the LICENSE file for details.
Built with โค๏ธ for Smart India Hackathon 2024
Revolutionizing museum experiences through AI-powered ticketing solutions
- โ Functional AI Chatbot - Successfully integrated Dialogflow
- โ Complete User Journey - From registration to booking confirmation
- โ Admin Analytics - Comprehensive dashboard with insights
- โ Responsive Design - Works across all devices
- โ Email Integration - Automated booking confirmations
- โ Real-time Updates - Live availability and booking status
- โ Security Implementation - Secure authentication and data handling