Skip to content

About

🏏 A modern cricket scoring app built with React Native and Expo.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏏 Gully Score

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.

πŸ“± About

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.

✨ Features

🏏 Live Scoring

  • Record runs
  • Record extras
  • Record wickets
  • Track legal deliveries
  • Track overs
  • Track batsmen
  • Track bowlers
  • Undo recent scoring actions

πŸ”„ Innings Management

  • First innings scoring
  • Automatic innings completion
  • Second innings setup
  • Automatic target calculation
  • Chase tracking
  • Match completion detection

πŸ“Š Scorecards & Statistics

  • Batting statistics
  • Bowling statistics
  • Runs
  • Balls faced
  • Boundaries
  • Strike rate
  • Overs
  • Runs conceded
  • Wickets
  • Economy rate
  • Recent deliveries

πŸ‘₯ Players & Teams

  • Manage players
  • Manage teams
  • Select batsmen
  • Select bowlers
  • Manage players available to bat

πŸ“œ Match Management

  • Match history
  • Match persistence
  • Match results
  • Series support
  • Resume saved matches

🎨 User Interface

  • Dark theme
  • Light theme
  • Responsive React Native interface
  • Cricket-focused scoring controls
  • Android support

πŸ’Ύ Offline-First Storage

Match and player information is persisted locally so the application can continue to work without requiring a constant internet connection.

πŸ› οΈ Tech Stack

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

πŸ“‚ Project Structure

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/frontend

Install dependencies:

npm install

▢️ Run the Application

Start the Expo development server:

npx expo start

You can then open the application using an available development target such as an Android device or emulator.

🧹 Start With a Clean Metro Cache

If the application behaves unexpectedly during development, start Expo with a cleared Metro cache:

npx expo start --clear

You can also remove local Expo and Metro caches manually:

rm -rf .expo .metro-cache

These are temporary development files and should not be committed to Git.

🩺 Check the Expo Project

Before creating an Android build, run:

npx expo-doctor

The project should pass the Expo configuration and dependency checks.

You can also check the Git working tree:

git status --short

A clean working tree produces no output.

πŸ€– Android APK

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 preview

The 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

βš™οΈ EAS Build Profiles

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

πŸ“± Android Configuration

Current Android application package:

com.ahsaan24.frontend

Current application version:

1.0.0

πŸ§ͺ Testing

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

πŸ”„ Development Workflow

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 --short

Review changes:

git diff

Stage changes:

git add -A

Review staged changes:

git diff --cached

Create a commit:

git commit -m "Describe the change"

Push to GitHub:

git push origin main

πŸ” Security

Never 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.

🚫 Files That Should Not Be Committed

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.

πŸ“Œ Current Status

Version: 1.0.0

Platform: Android

Expo SDK: 54

Android package: com.ahsaan24.frontend

Build status: Working Android APK successfully built and tested.

πŸ—ΊοΈ Roadmap

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

πŸ“Έ Screenshots

Home & Match Setup

GullyScore home screen
Home
GullyScore new match setup
New Match

Live Scoring & Match Result

GullyScore live scoring screen
Live Scoring
GullyScore match result screen
Match Result

Scorecard & Player Statistics

GullyScore full scorecard
Full Scorecard
GullyScore player statistics
Player Stats

πŸ“¦ Releases

Stable Android builds will be published through GitHub Releases when appropriate.

Example:

GullyScore v1.0.0 └── GullyScore-v1.0.0-Android.apk

πŸ“„ License

License information will be added when the project license is finalized.

About

🏏 A modern cricket scoring app built with React Native and Expo.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages