SkillAgentSearch skills...

Athletix

Athletix is a Flutter, Firebase and Gemini API-based platform for athlete management in India, offering performance tracking, injury management, AI recovery, and real-time messaging. Future upgrades include dashboards, finance, and AI career planning.

Install / Use

/learn @VJLIVE/Athletix
About this skill

Quality Score

0/100

Supported Platforms

Gemini CLI

README

<p align="center"> <img src="web/athletix_banner.png" alt="Athletix Banner" width="100%"> </p>

Don't forget to star our repository

🏋️ Athletix

Athletix is a Flutter-based mobile application designed to streamline collaboration between athletes, coaches, doctors, and sports organizations. It offers a centralized platform to manage tournaments, track performance and injuries, maintain schedules, and facilitate communication while respecting user roles.


🚀 Features

🔐 Authentication & Role-based Access

  • Firebase Authentication: Secure login for all users.
  • Role-based Access (RBA):
    • Four user roles: Athletes, Doctors, Coaches, and Organizations
    • Each role has a distinct dashboard with specific permissions.
    • Role checked via Firestore role field, redirecting users post-login.
  • Signup & Login:
    • Separate signup and login flows for Athletes, Doctors, and Coaches.
    • Login-only access for Organizations.

📋 Profiles

  • Athletes: Includes personal details and their sport.
  • Doctors: Includes personal details and specialization.
  • Coaches: Includes their sport.
  • Organizations: Associated with a specific sport.

🗓️ Timetable & Notifications

  • Users can create and save activity timetables in Firestore.
  • Push notifications sent via Firebase Cloud Messaging (FCM) at the start of each activity.

📈 Injury & Performance Logs

  • Athletes can log:
    • Injury logs: Details for doctors and monitoring.
    • Performance logs: Track progress over time.
  • Logs are securely stored in Firestore and accessible to doctors and coaches.

🗺️ Tournaments with Google Maps

  • Organizations can create tournaments with:
    • Name, level (District, State, National, International), date, time, and location using Google Maps SDK.
    • Data stored in Firestore under the tournaments collection.
  • Athletes can:
    • View upcoming tournaments filtered by their sport.
    • See tournaments as markers on an interactive map.
    • Tap markers to view tournament details (level, date, time, address) in a modal.

🛠️ Setup Guide

✅ Prerequisites


📥 Clone Your Fork

git clone https://github.com/<your-username>/Athletix.git
cd Athletix

📦 Install Dependencies

flutter pub get

▶️ Run the App

flutter run

📱 Tip: It's recommended to use a physical Android device for better performance during development.


🧱 Tech Stack

| Technology | Description | |--------------------------|-------------------------------------------| | 📱 Flutter | Cross-platform UI toolkit | | 🔥 Firebase | Auth | Firestore | FCM (notifications) | | 🗺️ Google Maps SDK | Interactive maps for tournaments | | 📦 Flutter Local Notifications | For scheduling reminders |


🗂️ Project Structure

Athletix/
├── android/
├── assets/
│   ├── applogo.png
│   └── Running_Boy.json
├── functions/
├── ios/
├── lib/
│   ├── components/
│   │   ├── bottom_nav_bar.dart
│   │   └── fcm_listener.dart
│   ├── screens/
│   │   ├── athlete/
│   │   │   ├── athlete_dashboard.dart
│   │   │   ├── calendar_screen.dart
│   │   │   ├── injury_tracker_screen.dart
│   │   │   ├── performance_logs_screen.dart
│   │   │   └── tournaments_screen.dart
│   │   ├── coach/
│   │   │   └── coach_dashboard.dart
│   │   ├── doctor/
│   │   │   └── doctor_dashboard.dart
│   │   ├── organization/
│   │   │   ├── add_tournament_screen.dart
│   │   │   ├── manage_players_screen.dart
│   │   │   └── organization_dashboard.dart
│   │   ├── auth_screen.dart
│   │   ├── profile_screen.dart
│   │   └── splash_screen.dart
│   └── main.dart
├── linux/
├── macos/
├── test/
├── web/
├── windows/
├── .firebaserc
├── .gitignore
├── .metadata
├── analysis_options.yaml
├── CODE_OF_CONDUCT.md
├── DEVELOPMENT.md
├── CONTRIBUTING.md
├── firebase.json
├── LICENSE
├── pubspec.lock
├── pubspec.yaml
└── README.md

🧩 Troubleshooting

1. 🔥 Firebase Configuration Missing

Issue: App throws Firebase initialization error. Solution: -Download your google-services.json file from Firebase Console. -Place it in android/app/ directory.

2. 📦 Plugin Issues

Issue: Plugin not found or version mismatch. Solution: -Run flutter pub get to reinstall dependencies. -Check for version conflicts in pubspec.yaml.

3. 🗺️ Google Maps Not Showing

Issue: Map doesn't load or crashes. Solution: -Ensure you've added your Google Maps API key in the android/app/src/main/AndroidManifest.xml. -Enable Maps SDK in your Google Cloud console.

4. 🚫 Emulator Permission Issues

Issue: Notifications or Maps don't work on emulator. Solution: -Use a real device when possible. -Emulators may lack Play Services or required permissions.

🧪 How to Run Tests

To run the Flutter tests:

flutter test

This will execute all unit and widget tests in the test/ directory.


🤝 How to Contribute

We welcome contributions! Please see CONTRIBUTING.md for guidelines on how to get started, report issues, or submit pull requests.


📫 Contact / Support

For questions, suggestions, or support, please open an issue on GitHub or contact the maintainers via the repository.

📜 License

This project is licensed under the MIT License

<p align="center"> <a href="#top" style="font-size: 18px; padding: 8px 16px; display: inline-block; border: 1px solid #ccc; border-radius: 6px; text-decoration: none;"> ⬆️ Back to Top </a> </p>
View on GitHub
GitHub Stars33
CategoryFinance
Updated2mo ago
Forks31

Languages

Dart

Security Score

90/100

Audited on Jan 1, 2026

No findings