A simple Android app (Kotlin) for friends and teams to view schedules, rosters, games, and more. Built as a class project and ready to extend.
- Features
- Tech Stack
- Project Structure
- Prerequisites
- Quick Start
- Build & Run
- Testing
- Configuration
- Coding Style
- Roadmap
- Contributing
- License
- Author
- View team rosters
- See game schedules and basic match details
- Clean, student‑friendly codebase that’s easy to expand
Tip: Add screens like “Team Profile”, “Match Details”, “Create Game”, etc., as you grow the app.
- Language: Kotlin
- Build: Gradle (Kotlin DSL)
- UI: Android Views (ready for Jetpack Compose if you add it)
- Min/Target SDK: Set in
app/build.gradle.kts - Testing: JUnit / Instrumented tests scaffold (optional for now)
Android-SportMatesApp/
├─ app/ # Android app module
│ ├─ src/
│ │ ├─ main/ # Main source set
│ │ │ ├─ AndroidManifest.xml
│ │ │ └─ java|kotlin/... # App source code
│ │ ├─ test/ # Local unit tests (JVM)
│ │ └─ androidTest/ # Instrumented tests (device/emulator)
├─ gradle/ # Gradle wrapper files
├─ build.gradle.kts # Root Gradle build (Kotlin DSL)
├─ settings.gradle.kts # Gradle settings (modules)
├─ gradle.properties # Gradle JVM & project properties
├─ gradlew / gradlew.bat # Gradle wrapper scripts
└─ README.md
- Android Studio (Giraffe or newer recommended)
- Android SDK + at least one emulator image (or a physical device with USB debugging)
- JDK 17 (bundled with Android Studio)
- Git
-
Clone the repository
git clone https://github.com/tamimafg6/Android-SportMatesApp.git cd Android-SportMatesApp -
Open in Android Studio
- File → Open… → select the project root
- Wait for Gradle sync to finish (uses the included Gradle wrapper)
-
Select a device
- Use an Android Emulator (AVD Manager) or physical device (USB debugging enabled)
-
Run the app
- Click Run ▶ (or press
Shift + F10)
- Click Run ▶ (or press
-
From Android Studio
- Make sure Gradle sync completes successfully.
- Choose a device.
- Click Run ▶.
-
From the command line
# Clean & build (debug) ./gradlew clean assembleDebug # Install on connected device/emulator ./gradlew installDebug # Run unit tests ./gradlew test # Run instrumented tests (emulator/device must be running) ./gradlew connectedAndroidTest
If Gradle sync fails, check that your SDK versions match the ones in
app/build.gradle.kts. You can also try File → Invalidate Caches / Restart… in Android Studio.
- Local unit tests go in
app/src/test/...(run on JVM). - Instrumented tests go in
app/src/androidTest/...(run on device/emulator).
From Android Studio: use the Run tests gutter icons or Run → Run….
From CLI: ./gradlew test and ./gradlew connectedAndroidTest.
- App ID / package name: set in
app/build.gradle.ktsand theAndroidManifest.xml. - Min/target SDK: set in
app/build.gradle.ktsunderandroid { defaultConfig { ... } }. - If you add APIs:
- Put keys/secrets in local.properties or Gradle properties, not in source.
- Use BuildConfig or environment-specific files for staging vs production.
- Kotlin idioms (null‑safety, data classes,
when, extension functions). - Use ViewBinding or Jetpack Compose (if you add Compose) for safer UI code.
- Prefer sealed classes / Result types for domain results.
- Keep Activities/Fragments thin; move logic to ViewModels and plain Kotlin classes.
- Team profiles (logo, colors, home venue)
- Match details (score, location, maps link)
- Simple auth (email/Google Sign‑In)
- Offline caching with Room
- API integration with Retrofit + Coroutines
- Notifications for upcoming games
- Dark theme & accessibility polish
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-change - Commit:
git commit -m "feat: add X" - Push:
git push origin feature/your-change - Open a Pull Request
Add a LICENSE file (MIT/Apache-2.0/etc.) if you plan to share or reuse this code publicly.
Tamim Afghanyar — 2025