An Android application built with Kotlin that displays yellow and red cards like those used by referees in football/soccer matches.
- 🟨 Show Yellow Card: Display a bright yellow warning card
- 🟥 Show Red Card: Display a red dismissal card
- 🔄 Reset: Clear the card display
- 📱 Simple and intuitive interface
- 🎨 Material Design with dark theme
See UI_MOCKUP.md for UI design mockups.
- Language: Kotlin
- UI Framework: Android XML Layouts with ConstraintLayout
- Minimum SDK: Android 7.0 (API 24)
- Target SDK: Android 14 (API 34)
- Libraries: AndroidX, Material Components
See BUILD.md for detailed build instructions.
-
Clone the repository:
git clone https://github.com/iSee-Red/Ref-Cards-App.git cd Ref-Cards-App -
Open in Android Studio
-
Sync Gradle files
-
Run on emulator or device:
./gradlew assembleDebug
# Run unit tests
./gradlew test
# Run lint checks
./gradlew lint
# Build release APK
./gradlew assembleReleaseThis project uses GitHub Actions for continuous integration and deployment:
- CI Workflow: Automatically builds, tests, and runs lint checks on every push and pull request
- Release Workflow: Automates the creation of releases with APK artifacts
- Dependency Review: Scans for vulnerable dependencies on pull requests
View the Actions tab for build status and history.
Ref-Cards-App/
├── app/
│ ├── src/main/
│ │ ├── java/com/example/refcardsapp/
│ │ │ └── MainActivity.kt
│ │ ├── res/
│ │ │ ├── layout/
│ │ │ │ └── activity_main.xml
│ │ │ ├── values/
│ │ │ │ ├── strings.xml
│ │ │ │ └── themes.xml
│ │ │ └── drawable/
│ │ └── AndroidManifest.xml
│ └── build.gradle
├── build.gradle
└── settings.gradle
The app uses a simple activity-based architecture:
- MainActivity: Contains the main logic for showing/hiding cards
- activity_main.xml: Defines the UI layout with buttons and card display area
- Card Display: A View that changes color (yellow/red) when buttons are tapped
- Card Text: A TextView that displays "YELLOW CARD" or "RED CARD"
When you tap a button:
- The card display View becomes visible
- Its background color is set to yellow or red
- The text is updated to show the appropriate card type
- The reset button clears the display
We welcome contributions! Please see CONTRIBUTING.md for details on:
- Code style guidelines
- Development setup
- Pull request process
- Testing requirements
For security concerns, please review our Security Policy.
See CHANGELOG.md for a list of changes in each version.
Open source project.