A comprehensive mobile application designed to support talented individuals in sports across Sri Lanka. This app connects students and sports enthusiasts with resources, facilities, and knowledge to help them develop their sporting potential.
- Sport Finder: Get personalized sport recommendations based on your physical attributes and preferences
- Equipment Finder: Locate sports equipment and medicine from trusted vendors
- AI Sports Assistant: Chat with an AI assistant for sports-related questions and guidance
- Sports Education: Access techniques, science, and educational content about various sports
- Notifications: Receive updates about events, training programs, and opportunities
- Health Centers Map: Find sports medicine centers and health facilities on an interactive map
- Verified Profile: Get a verified sportsperson status with NIC verification
-
Flutter: Cross-platform UI toolkit for building natively compiled applications
-
Firebase:
-
Authentication for user management
-
Firestore for database
-
OpenStreetMap: Free map integration via flutter_map package
-
Location Services: For geolocation features
-
AI Integration: For the sports assistant chatbot
- Flutter SDK (2.19.0 or higher)
- Dart SDK
- Android Studio / VS Code
- Firebase project setup
- Android SDK / Xcode (for iOS development)
- Clone the repository
git clone https://github.com/yourusername/sri_lanka_sports_app.git
cd sri_lanka_sports_app
- Install dependencies
flutter pub get
-
Firebase Setup
-
Create a Firebase project at Firebase Console
-
Add Android and iOS apps to your Firebase project
-
Download and add the configuration files:
-
google-services.json(for Android) -
GoogleService-Info.plist(for iOS) -
Enable Authentication, and Firestore in Firebase Console
-
Google Maps Setup (Optional)
-
If using Google Maps instead of OpenStreetMap, obtain a Google Maps API key
-
Add the key to
android/app/src/main/AndroidManifest.xmlandios/Runner/AppDelegate.swift -
Run the app
flutter run
- Open the app and click "Sign Up" on the login screen
- Fill in your details and select your role (Student or Sports Person)
- For Sports Persons, provide your NIC number and take a photo of your NIC for verification
- Complete the registration process
- Navigate to the "Find Your Sport" section
- Fill in your physical attributes and preferences
- Get personalized sport recommendations based on your profile
- Go to the "Health Centers" section (available for verified sports persons)
- View health centers on the map
- Tap on a marker to see details about the center
- Use the list view to browse all centers
- Navigate to the "Sports Assistant" section
- Type your sports-related questions
- Get instant answers and guidance from the AI assistant
lib/
├── main.dart # App entry point
├── models/ # Data models
│ └── user_model.dart # User data model
├── screens/ # UI screens
│ ├── auth/ # Authentication screens
│ ├── features/ # Feature screens
│ ├── home/ # Home screen
│ └── profile/ # Profile screens
├── services/ # Services
│ └── auth_service.dart # Authentication service
├── utils/ # Utilities
│ └── app_theme.dart # App theming
└── widgets/ # Reusable widgets
├── custom_button.dart # Custom button widget
└── custom_text_field.dart # Custom text field widget
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For any inquiries or support, please contact:
- Email: your.email@example.com
- Website: https://example.com
Made with ❤️ for Sri Lankan sports development