TeamMaker
A Kotlin-based mobile application built with Jetpack Compose and Android Jetpack libraries, designed for creating balanced teams with ease. Users can add players, manage competitions, upload player images, and access advanced features like weather integration and SWOT analysis. Leveraging Firebase for storage and Hilt for dependency injection.
Install / Use
/learn @Yusuf-Solmaz/TeamMakerREADME
[![Contributors][contributors-shield]][contributors-url] [![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] [![Issues][issues-shield]][issues-url]
</div>We are the Dynamic Trio three Android developers working together to create powerful and user-friendly mobile apps.
Team Maker is an application designed to streamline the creation of balanced teams with fair skill distribution for various sports. Whether you're setting up a competitive event or organizing a casual game, Team Maker provides an intuitive platform to manage teams and competitions effectively.
<table> <tr> <td><img src="https://github.com/user-attachments/assets/a37dbf22-920d-4b4f-99b0-2f7d828a77e8" alt="Image 1"></td> <td><img src="https://github.com/user-attachments/assets/0b2c53bc-29f7-4ec9-a7b5-c18a85cff872" alt="Image 2"></td> <td><img src="https://github.com/user-attachments/assets/2c7b071b-2ebe-4b9d-9741-13f047982da6" alt="Image 3"></td> </tr> </table> <!-- TABLE OF CONTENTS --> <details open="open"> <summary><h2 style="display: inline-block">Table of Contents</h2></summary> <ol> <li> <a href="#key-features">Key Features</a> </li> <li><a href="#screenshots">Screenshots</a></li> <li><a href="#demo">Demo</a></li> <li><a href="#open-source-libraries">Open-Source Libraries</a></li> <li><a href="#architecture">Architecture</a></li> <li><a href="#api-and-services">API and Services</a></li> <li> <a href="#getting-started">Getting Started</a> <ul> <li><a href="#configuration-steps">Configuration Steps</a></li> </ul> </li> <li><a href="#contact">Contact</a></li> <li><a href="#licence">Licence</a></li> </ol> </details> <!-- KEY FEATURES -->Key Features
- Create Competitions: Easily set up matches for a variety of sports such as football, volleyball, basketball, and more.
- Add and Manage Players: Add players to your roster with detailed profiles, including:
- Profile Picture
- First Name
- Last Name
- Position
- Skill Rating (used to balance teams)
- Update and Delete Players: Modify player details or remove players as needed.
- Form Matches: Select players from your list to create teams and organize matches.
- View Match Details: Access comprehensive details of created competitions, including team compositions.
- Check Location and Time: View essential location and time information for your events.
- Weather Information: Get weather forecasts based on the location of your competition to better plan your events.
With Team Maker, you can register, log in, and customize your experience by adding games and participants. Build balanced teams, track your competitions, and ensure a fair and enjoyable gaming experience. Start organizing your sports events and creating balanced teams with Team Maker!
<!-- Screenshots -->Screenshots
| On Boarding Page First | Sign Up | Sign In | Reset Password | Choose Competition | Update Competition | Add Competition
|-----------------------------------|-----------------------------------|-----------------------------------|-----------------------------------|-----------------------------------|-----------------------------------|-----------------------------------|
| <img src="/screenshots/Screenshot_onboarding_page_first.png" width="180"/> | <img src="/screenshots/Screenshot_create_an_account_page.png" width="260"/> |<img src="/screenshots/Screenshot_login_page.png" width="260"/> | <img src="/screenshots/Screenshot_reset_password_screen.png" width="180"/> | <img src="/screenshots/Screenshot_choose_competition_type.png" width="140"/> | <img src="/screenshots/Screenshot_update_competition.png" width="140"/> | <img src="/screenshots/Screenshot_add_competition.png" width="140"/>
| Options | Players | Add Player Dialog | Create Competition | Competition Detail | Saved Competition | Delete Saved Competition |-----------------------------------|-----------------------------------|-----------------------------------|-----------------------------------|-----------------------------------|-----------------------------------|-----------------------------------| |<img src="/screenshots/Screenshot_options_page.png" width="220"/> | <img src="/screenshots/Screenshot_players_page.png" width="220"/> | <img src="/screenshots/Screenshot_add_player_page.png" width="260"/> | <img src="/screenshots/Screenshot_create_competition_page.png" width="150"/> | <img src="/screenshots/Screenshot_competition_detail_page.png" width="120"/> | <img src="/screenshots/Screenshot_saved_competition_page.png" width="130"/>| <img src="/screenshots/Screenshot_delete_dialog.png" width="120"/>
<!-- Demo -->Demo
https://github.com/user-attachments/assets/617e756c-7909-444a-855b-13bff5ca1f2b
<!-- Open-Source Libraries -->Open-Source Libraries
- Minimum SDK level 26
- Dependency Injection (Hilt) (2.51.1) - Used for dependency injection, simplifying the management of application components.
- Jetpack Compose (1.9.1) - A modern toolkit for building native UI in Android.
- Navigation (1.2.0) - Handles in-app navigation in a type-safe manner.
- Compose Lifecycle (2.8.4) - Manages lifecycle-aware components in Jetpack Compose.
- Coroutines - Provides a simple way to manage background threads, making asynchronous programming easier and more efficient.
- Flow - A reactive streams API in Kotlin used for managing data streams asynchronously.
- DataStore (1.1.1) - Handles data storage and persistence, replacing SharedPreferences for more complex data structures.
- MVVM - A design pattern used to separate concerns, making the application more modular, testable, and maintainable.
- Lifecycle (2.8.4) - Manages Android lifecycle-aware components.
- ViewModel - Stores UI-related data that isn't destroyed on UI changes.
- UseCases - Located domain layer that sits between the UI layer and the data layer.
- Repository - Located in the data layer that contains application data and business logic.
- Retrofit (2.11.0) A type-safe HTTP client for Android and Java
- OkHttp (5.0.0-alpha.14) An HTTP client that efficiently makes network requests
- Gson (2.11.0) - A library for serializing and deserializing JSON data.
- Firebase - A suite of tools used for backend services including authentication, Firestore database, storage, crash reporting, analytics, and performance monitoring.
- Firebase Authentication (23.0.0) Firebase Authentication provides backend services, easy-to-use SDKs, and ready-made UI libraries to authenticate users to your app.
- Firebase Firestore (25.0.0) Cloud Firestore is a flexible, scalable database for mobile, web, and server development from Firebase and Google Cloud.
- Firebase Storage (21.0.0)
- Firebase Crashlytics (19.0.3) Firebase Crashlytics is a lightweight, real-time crash reporter that helps you track, prioritize, and fix stability issues that erode your app quality.
- Firebase Performance (21.0.1)
- Firebase Analytics (22.0.2) Firebase Analytics is a free app measurement solution that provides insight on app usage and user engagement.
- Location (21.3.0) - Used for obtaining device location data.
- SharedPreferences Store private primitive data in key-value pairs. Standard Android library with no specific version (comes with the Android SDK).
- [Lottie Animation (6.3.0)](https://lottiefiles.com/blog/working-with-lottie-animations/getting-started-with-lottie-anima
Related Skills
diffs
333.7kUse the diffs tool to produce real, shareable diffs (viewer URL, file artifact, or both) instead of manual edit summaries.
openpencil
1.5kThe world's first open-source AI-native vector design tool and the first to feature concurrent Agent Teams. Design-as-Code. Turn prompts into UI directly on the live canvas. A modern alternative to Pencil.
vibe-coding-for-dummies
525A beginner-friendly guide to building real software using vibe coding. Learn how to ship apps without traditional coding by using Firebase Studio, GitHub, and Cursor. No gatekeeping. No fluff. Just building. 👉 For daily lessons and real-world builds, join the Vibe Coding with Chris skool community.
ui-ux-pro-max-skill
49.4kAn AI SKILL that provide design intelligence for building professional UI/UX multiple platforms
