11# Cambridge Beer Festival App
22
33[ ![ CI] ( https://github.com/richardthe3rd/cambridge-beer-festival-app/actions/workflows/ci.yml/badge.svg )] ( https://github.com/richardthe3rd/cambridge-beer-festival-app/actions/workflows/ci.yml )
4+ [ ![ PR Lint] ( https://github.com/richardthe3rd/cambridge-beer-festival-app/actions/workflows/pr-lint.yml/badge.svg )] ( https://github.com/richardthe3rd/cambridge-beer-festival-app/actions/workflows/pr-lint.yml )
45[ ![ codecov] ( https://codecov.io/gh/richardthe3rd/cambridge-beer-festival-app/graph/badge.svg )] ( https://codecov.io/gh/richardthe3rd/cambridge-beer-festival-app )
6+ [ ![ Flutter] ( https://img.shields.io/badge/Flutter-3.38.3-02569B?logo=flutter&logoColor=white )] ( https://flutter.dev )
7+ [ ![ Platforms] ( https://img.shields.io/badge/Platforms-Android%20%7C%20iOS%20%7C%20Web-blue )] ( https://flutter.dev/multi-platform )
8+ [ ![ GitHub release] ( https://img.shields.io/github/v/release/richardthe3rd/cambridge-beer-festival-app )] ( https://github.com/richardthe3rd/cambridge-beer-festival-app/releases )
9+ [ ![ License: MIT] ( https://img.shields.io/badge/License-MIT-yellow.svg )] ( LICENSE )
10+ [ ![ Play Store] ( https://img.shields.io/badge/Google_Play-414141?logo=google-play&logoColor=white )] ( https://play.google.com/store/apps/details?id=ralcock.cbf )
511
612A Flutter app for browsing beers, ciders, meads, and more at the Cambridge Beer Festival.
713
8- ** Production** : [ https:// cambeerfestival.app] ( https://cambeerfestival.app )
9- ** Staging** : [ https:// staging.cambeerfestival.app] ( https://staging.cambeerfestival.app )
10- ** Development ** : [ https://richardthe3rd.github.io/cambridge-beer-festival-app/ ] ( https://richardthe3rd.github.io/cambridge-beer-festival-app/ )
14+ ** Production** : [ cambeerfestival.app] ( https://cambeerfestival.app )
15+ ** Staging** : [ staging.cambeerfestival.app] ( https://staging.cambeerfestival.app )
16+ ** Android ** : [ Google Play ] ( https://play.google.com/store/apps/details?id=ralcock.cbf )
1117
1218## Features
1319
@@ -21,10 +27,6 @@ A Flutter app for browsing beers, ciders, meads, and more at the Cambridge Beer
2127- 🏭 View brewery details and all their drinks
2228- 📱 Works on Android, iOS, and Web
2329
24- ## Screenshots
25-
26- * Coming soon*
27-
2830## Getting Started
2931
3032### Prerequisites
@@ -40,48 +42,37 @@ A Flutter app for browsing beers, ciders, meads, and more at the Cambridge Beer
4042git clone https://github.com/richardthe3rd/cambridge-beer-festival-app.git
4143cd cambridge-beer-festival-app
4244
43- # Option 1: Using mise (recommended)
44- mise install # Automatically installs Flutter 3.38.3, Node 21, and other tools
45- flutter pub get
45+ # Install tools (Flutter 3.38.3, Node, etc.)
46+ mise install
4647
47- # Option 2: Manual setup
48- flutter pub get
48+ # Install Dart dependencies and verify setup
49+ ./bin/mise run check
4950
50- # Run the app
51- flutter run
51+ # Run the app on web
52+ MISE_ENV=dev ./bin/mise run dev
5253```
5354
5455### Development Tasks
5556
56- If using mise, you can run these convenient tasks:
57-
5857``` bash
59- mise run test # Run all tests
60- mise run coverage # Generate code coverage report
61- mise run analyze # Analyze code for issues
62- mise run dev # Run app on web (localhost:8080)
63- ```
64-
65- Or run them directly:
66-
67- ``` bash
68- flutter test # Run tests
69- flutter test --coverage # Run tests with coverage
70- flutter analyze --no-fatal-infos # Analyze code
71- flutter run -d web-server --web-port 8080 # Run on web
58+ ./bin/mise run test # Run all tests
59+ ./bin/mise run coverage # Run tests with coverage report
60+ ./bin/mise run analyze # Analyze code for issues
61+ ./bin/mise run check # Full pre-commit gate (generate → analyze → test)
62+ MISE_ENV=dev ./bin/mise run dev # Run app on web (localhost:8080)
7263```
7364
7465### Building
7566
7667``` bash
7768# Build for web
78- flutter build web
69+ MISE_ENV=dev ./bin/mise run build: web:prod
7970
8071# Build for Android
81- flutter build apk
72+ ./bin/mise exec flutter -- flutter build apk
8273
8374# Build for iOS
84- flutter build ios
75+ ./bin/mise exec flutter -- flutter build ios
8576```
8677
8778## Project Structure
@@ -108,23 +99,16 @@ This project uses multiple testing approaches:
10899Flutter's built-in testing framework with comprehensive test coverage:
109100
110101``` bash
111- # Run all tests
112- flutter test
113-
114- # Generate coverage report
115- flutter test --coverage
116-
117- # Or using mise
118- mise run coverage
102+ ./bin/mise run test # Run all tests
103+ ./bin/mise run coverage # Run tests with coverage report
119104```
120105
121- Code coverage is automatically collected and reported in CI using GitHub's native coverage reporting. Coverage reports are displayed in :
106+ Coverage is collected in CI and reported in two places :
122107
123- - Pull request comments showing overall coverage percentage and file-by-file breakdown
124- - GitHub Actions job summaries with coverage metrics
125- - Commit status checks indicating if coverage meets the 70% threshold
108+ - ** PR comments and job summaries** — file-by-file breakdown via ` github-actions-report-lcov `
109+ - ** Codecov** — trend tracking and the badge above
126110
127- Coverage fails if it drops below 70% overall, helping maintain code quality .
111+ Coverage fails CI if it drops below 70%.
128112
129113### E2E Testing
130114
0 commit comments