A brief description of what this project does and who it's for
BookMyEvent ποΈ
Unlock the Future of Event Booking
Discover, book and experience unforgettable moments effortlessly!
Made with Flutter Dart Firebase Stripe
π± About BookMyEvent BookMyEvent is a comprehensive event booking mobile application built with Flutter and Dart. The app provides a seamless experience for users to discover, book, and manage event tickets while offering powerful admin tools for event management.
β¨ Key Features
π« Event Discovery & Booking: Browse and book tickets for various events (Music, Festivals, etc.)
π³ Stripe Payment Integration: Secure payment processing with multiple payment methods
π Location Services: GeoLocator integration for location-based event discovery
π Google Sign-In: Easy authentication with Firebase and Google Sign-In
π€ User Profiles: Personalized booking history and profile management
π Event Categories: Music, Clothing, Festival categories for easy browsing
π Admin Dashboard: Complete event management and ticket tracking
ποΈ Architecture & Tech Stack Frontend
Flutter: Cross-platform mobile development framework
Dart: Programming language for Flutter applications
Provider: State management solution for Flutter
Backend & Services
Firebase: Authentication, real-time database, and cloud services
Stripe Payment Gateway: Secure payment processing
GeoLocator: Location services for event discovery
Google Sign-In: OAuth authentication
Key Integrations
π₯ Firebase Authentication
π GeoLocator API
π Google Sign-In API
πΈ App Screenshots User Experience
Event Discovery: Beautiful home screen with event categories and location-based suggestions
Event Details: Comprehensive event information with booking interface
Ticket Booking: Seamless booking process with quantity selection
Payment Processing: Secure Stripe-powered payment with multiple options
Booking Management: Personal booking history and ticket management
Admin Features
Admin Dashboard: Centralized control panel for event management
Event Upload: Easy event creation and management interface
Ticket Analytics: Real-time ticket booking analytics and user management
π Getting Started Prerequisites
Flutter SDK (Latest stable version)
Dart SDK
Android Studio / VS Code with Flutter extensions
Firebase project setup
Stripe account for payment processing
Installation
Clone the repository
bash git clone https://github.com/gopal334/BookMyEvent.git cd BookMyEvent Install dependencies
bash flutter pub get Firebase Configuration
Create a new Firebase project
Add your Android/iOS app to the project
Download and add google-services.json (Android) or GoogleService-Info.plist (iOS)
Enable Authentication and Firestore Database
Stripe Configuration
Set up your Stripe account
Add your publishable and secret keys to the configuration
Run the application
bash flutter run π― App Features Breakdown For Users
Event Discovery: Location-based event recommendations
Easy Booking: Intuitive booking flow with real-time availability
Secure Payments: Multiple payment options through Stripe
Ticket Management: Digital ticket storage and booking history
Profile Management: Google Sign-In integration for easy access
For Admins
Event Management: Create, edit, and manage events
Ticket Analytics: Track bookings and user engagement
User Management: Monitor user activities and booking patterns
Revenue Tracking: Financial insights and payment analytics
ποΈ App Structure text lib/ βββ screens/ β βββ home_screen.dart β βββ event_detail_screen.dart β βββ booking_screen.dart β βββ admin_dashboard.dart β βββ profile_screen.dart βββ models/ β βββ event_model.dart β βββ user_model.dart β βββ booking_model.dart βββ services/ β βββ firebase_service.dart β βββ stripe_service.dart β βββ location_service.dart β βββ auth_service.dart βββ providers/ β βββ event_provider.dart β βββ user_provider.dart β βββ booking_provider.dart βββ widgets/ βββ event_card.dart βββ booking_card.dart βββ custom_components.dart π¨ UI/UX Design The app features a modern, intuitive design with:
Purple-themed UI: Consistent branding with purple gradients
Responsive Design: Optimized for various screen sizes
Smooth Animations: Flutter's animation capabilities for seamless transitions
Intuitive Navigation: Easy-to-use bottom navigation and flow
Accessibility: Design considerations for inclusive user experience
π§ Configuration Environment Setup
Create a .env file in the project root:
text STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key STRIPE_SECRET_KEY=your_stripe_secret_key FIREBASE_API_KEY=your_firebase_api_key π± Supported Platforms β Android (API level 21+)
β iOS (iOS 11.0+)
π€ Contributing Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
Fork the Project
Create your Feature Branch (git checkout -b feature/AmazingFeature)
Commit your Changes (git commit -m 'Add some AmazingFeature')
Push to the Branch (git push origin feature/AmazingFeature)
Open a Pull Request
π License This project is licensed under the MIT License - see the LICENSE file for details.
π¨βπ» Developer Gopal Singh
GitHub: @gopal334
Instagram: @gopalsengarr
Email: sengargopal310@gmail.com
π Acknowledgments Flutter team for the amazing framework
Firebase for backend services
Stripe for payment processing
The open-source community for various packages and inspiration
Made with β€οΈ using Flutter & Dart
If you found this project helpful, please consider giving it a β