Pitch Pals is a football match scheduling and management app designed for enthusiasts who want to easily join, organize, and manage football games. With a sleek and intuitive interface, users can browse available venues, join upcoming games, subscribe to premium memberships, and even get tips on improving their football skills via an integrated chatbot.
- Users can sign up, log in, and manage their profiles using Firebase Authentication.
- The app fetches and displays user data such as the first and last name, which is displayed on the home screen.
- The app includes a fixed list of football venues (e.g., Maidan, Gharafa Outdoor, and Dome) stored in Firestore.
- Venues are displayed dynamically on the home screen with filter buttons that allow users to view games associated with a particular venue.
- Venues are represented by images stored in Firebase Storage and are linked to games scheduled at each venue.
- Users can browse games at different venues, view details such as the date and time, and see how many players have joined.
- A
Game
model is integrated with Firestore to store game details including the venue, date, time, and list of joined players. - Users can join games, and their information is updated in Firestore, ensuring real-time synchronization across all devices.
- The search view allows users to search for games by name or location.
- A clean and simple UI displays games horizontally, with details such as date, location, and the number of joined players.
- The search bar at the top of the view allows users to input search queries (currently non-functional for filtering, but serves as a UI placeholder).
- The notification icon has been replaced with a chatbot icon in the custom tab bar.
- The chatbot feature provides users with tips on improving their football skills and answers general questions about football.
- A custom tab bar allows easy navigation between the home screen, search view, chatbot, and user profile.
- Each tab is represented by an icon (home, search, chatbot, and profile).
- Users can subscribe to one of three premium membership plans: Bronze, Silver, and Gold.
- Bronze Plan: Basic access to games with limited features.
- Silver Plan: Enhanced access with more features, including priority booking.
- Gold Plan: Unlimited access to all games and features, with the highest priority booking.
- Subscription payments are handled securely via Stripe integration.
- Users can manage their subscription status directly from the app.
- Xcode 12 or later
- Cocoapods
- Firebase account (Firestore and Firebase Storage set up)
- Stripe account for handling payments
- Clone the repository.
- Navigate to the project directory.
- Install dependencies using CocoaPods:
pod install
- Open the
.xcworkspace
file in Xcode. - Set up Firebase by adding your
GoogleService-Info.plist
file to the project. - Set up Stripe by configuring your Stripe API keys in the project settings.
- Ensure all assets (e.g., images for venues) are correctly added to the project's asset catalog.
- Build and run the app on a simulator or a physical device.
- The home screen displays a personalized greeting and allows users to browse and filter games by venue.
- Users can click on a venue filter button to see the games available at that venue.
- The search view allows users to search for games and displays results in a scrollable format.
- Users can select a game to view more details or join.
- Access the chatbot by tapping the message icon on the custom tab bar.
- Ask questions about football, and get tips on improving your game.
- Access your profile by tapping the person icon on the custom tab bar.
- Manage your personal information, view your joined games, and more.
- Access subscription plans through the profile section.
- Choose between Bronze, Silver, or Gold plans based on your needs.
- Manage your subscription and payment details securely via Stripe integration.
Contributions are welcome! Feel free to submit a pull request or open an issue to discuss potential changes.
This project is licensed under the MIT License. See the LICENSE file for details.
- Thanks to Firebase for providing backend services that power user authentication, database, and storage.
- Thanks to Stripe for enabling secure and reliable payment processing for subscriptions.
- Special thanks to all contributors who have helped improve this app.