A modern cricket scoring app built with React Native and Expo.
Gully Score is designed to make cricket match scoring simple, fast, and easy to manage. It supports live scoring, innings management, player and team management, match history, scorecards, and match results.
Gully Score provides a simple interface for scoring cricket matches while keeping important match information organized.
The application follows an offline-first approach, with match and player data stored locally on the device.
- Record runs
- Record extras
- Record wickets
- Track legal deliveries
- Track overs
- Track batsmen
- Track bowlers
- Undo recent scoring actions
- First innings scoring
- Automatic innings completion
- Second innings setup
- Automatic target calculation
- Chase tracking
- Match completion detection
- Batting statistics
- Bowling statistics
- Runs
- Balls faced
- Boundaries
- Strike rate
- Overs
- Runs conceded
- Wickets
- Economy rate
- Recent deliveries
- Manage players
- Manage teams
- Select batsmen
- Select bowlers
- Manage players available to bat
- Match history
- Match persistence
- Match results
- Series support
- Resume saved matches
- Dark theme
- Light theme
- Responsive React Native interface
- Cricket-focused scoring controls
- Android support
Match and player information is persisted locally so the application can continue to work without requiring a constant internet connection.
| Technology | Purpose |
|---|---|
| React Native | Mobile application |
| Expo | React Native development platform |
| Expo Router | File-based navigation |
| TypeScript | Type-safe application development |
| AsyncStorage / Local Storage | Local data persistence |
| Expo EAS | Android application builds |
Gully-Score-App/
β
βββ docs/
β βββ PRD.md
β βββ design-guidelines.json
β
βββ frontend/
β βββ app/
β β βββ index.tsx
β β βββ setup.tsx
β β βββ live.tsx
β β βββ result.tsx
β β βββ scorecard.tsx
β β βββ history.tsx
β β βββ teams.tsx
β β βββ players.tsx
β β βββ ...
β β
β βββ assets/
β β βββ images/
β β βββ fonts/
β β
β βββ src/
β β βββ logic/
β β β βββ cricket.ts
β β β βββ stats.ts
β β β
β β βββ storage/
β β β βββ matches.ts
β β β βββ players_pool.ts
β β β βββ series.ts
β β β βββ teams.ts
β β β
β β βββ theme/
β β β βββ ThemeContext.tsx
β β β βββ tokens.ts
β β β
β β βββ types/
β β β βββ cricket.ts
β β β
β β βββ utils/
β β βββ storage/
β β
β βββ app.json
β βββ eas.json
β βββ package.json
β βββ package-lock.json
β βββ README.md
β
βββ .gitignore
βββ README.md
## π Getting Started
Requirements
Make sure the following are installed:
Node.js
npm
Git
An Android device or Android emulator for Android testing
## π₯ Installation
Clone the repository:
```bash
git clone https://github.com/ahsaan-uddin/Gully-Score-App.git
Enter the project:
cd Gully-Score-App/frontendInstall dependencies:
npm installStart the Expo development server:
npx expo startYou can then open the application using an available development target such as an Android device or emulator.
If the application behaves unexpectedly during development, start Expo with a cleared Metro cache:
npx expo start --clearYou can also remove local Expo and Metro caches manually:
rm -rf .expo .metro-cacheThese are temporary development files and should not be committed to Git.
Before creating an Android build, run:
npx expo-doctorThe project should pass the Expo configuration and dependency checks.
You can also check the Git working tree:
git status --shortA clean working tree produces no output.
Gully Score uses Expo Application Services (EAS) for Android builds.
The preview EAS profile is configured to create an installable APK.
From the frontend directory:
npx eas build --platform android --profile previewThe generated APK can be installed directly on an Android device for testing.
APK Naming Convention GullyScore-v1.0.0-Android.apk
Future versions can follow the same format:
GullyScore-v1.0.1-Android.apk GullyScore-v1.1.0-Android.apk GullyScore-v2.0.0-Android.apk
The project currently contains three EAS build profiles.
Development
Used for development builds:
development Preview
Used for internal Android testing and APK generation:
preview Production
Used for production builds:
production
Current Android application package:
com.ahsaan24.frontend
Current application version:
1.0.0
Before committing major changes, test the main scoring flow:
Start Match β First Innings β Innings Break β Second Innings β Final Ball β Match Over β View Result β Result Screen
Also verify:
Runs Extras Wickets Overs Batting statistics Bowling statistics Target calculation Undo Match result Match history Theme switching Saved match data
A recommended workflow for making changes:
Make changes β Test locally β Run Expo Doctor β Review Git changes β Commit changes β Push to GitHub β Build APK when required β Test APK on Android Useful Git Commands
Check the working tree:
git status --shortReview changes:
git diffStage changes:
git add -AReview staged changes:
git diff --cachedCreate a commit:
git commit -m "Describe the change"Push to GitHub:
git push origin mainNever commit sensitive information to the repository.
Do not commit:
Passwords API keys Access tokens Credentials Private SSH keys Environment secrets
Examples of sensitive files that should remain private:
.env .env.* credentials.json token.json id_ed25519
Always review changes before pushing them to GitHub.
Development dependencies, caches, and temporary files should remain outside Git.
Examples:
node_modules/ .expo/ .metro-cache/ dist/ build/
These files are covered by the repository's .gitignore where applicable.
Version: 1.0.0
Platform: Android
Expo SDK: 54
Android package: com.ahsaan24.frontend
Build status: Working Android APK successfully built and tested.
Potential future improvements include:
Further UI/UX improvements Additional cricket scoring functionality Expanded statistics Improved match and series management More automated testing Automated GitHub checks Automated Android builds GitHub release automation Additional platform improvements
Home |
New Match |
Live Scoring |
Match Result |
Full Scorecard |
Player Stats |
Stable Android builds will be published through GitHub Releases when appropriate.
Example:
GullyScore v1.0.0 βββ GullyScore-v1.0.0-Android.apk
License information will be added when the project license is finalized.





