Starcat is a Flutter app for tracking world-wide rocket launches featuring iOS Live Activities.
![](https://private-user-images.githubusercontent.com/57679865/293478454-46146bcf-82a3-48c0-af64-4112a4e27bf4.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1OTkyMzYsIm5iZiI6MTczOTU5ODkzNiwicGF0aCI6Ii81NzY3OTg2NS8yOTM0Nzg0NTQtNDYxNDZiY2YtODJhMy00OGMwLWFmNjQtNDExMmE0ZTI3YmY0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA1NTUzNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTY0ODcxOWQwZjY1YWQ5ZTM0MWY2NTM0Mjk4MDcxNjY3YjkwNWVlZGI1ZDU5Y2Q1ODIyMDcwNjBhMjIxNGZlM2UmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.D9iI7GeNr5czjqPQvewda-xpKp0JiTb6tgzqiH2mTio)
![](https://private-user-images.githubusercontent.com/57679865/293478509-aed3df11-1ce6-417c-bb65-ecd4ab59132c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1OTkyMzYsIm5iZiI6MTczOTU5ODkzNiwicGF0aCI6Ii81NzY3OTg2NS8yOTM0Nzg1MDktYWVkM2RmMTEtMWNlNi00MTdjLWJiNjUtZWNkNGFiNTkxMzJjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA1NTUzNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBiMDI5MGQ1YzVkZjRmYzJmMGI1MmIxODM3MmNlNDY2MWJiMDM0NGY1NzNhOTI1ZmNkYTExMjUzNzk3OWVkYjcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.xvL2Vw0VWArq11q_SLy_Lqfo5twsisC_r8OhvZ6KTsU)
![](https://private-user-images.githubusercontent.com/57679865/293478500-bc6ef033-d9a4-4f8d-b364-2cf514d63703.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1OTkyMzYsIm5iZiI6MTczOTU5ODkzNiwicGF0aCI6Ii81NzY3OTg2NS8yOTM0Nzg1MDAtYmM2ZWYwMzMtZDlhNC00ZjhkLWIzNjQtMmNmNTE0ZDYzNzAzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA1NTUzNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTZiZjYxMTc5NTgzOWI2NTFiYmRjZWZiNjczNWE3MDJhYjdhMzEwN2Q1OGMyYWU3ZjRkZTVlYWYyZWUyNzc3YjEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.pUZpH6HqsLysZ4sKKTxKsf97E17aj28sfrNv6r492Zw)
This project contains 3 flavors:
- development
- staging
- production
To run the desired flavor either use the launch configuration in VSCode/Android Studio or use the following commands:
# Development
$ flutter run --flavor development --target lib/main_development.dart
# Staging
$ flutter run --flavor staging --target lib/main_staging.dart
# Production
$ flutter run --flavor production --target lib/main_production.dart
To run all unit and widget tests use the following command:
$ flutter test --coverage --test-randomize-ordering-seed random
To view the generated coverage report you can use lcov.
# Generate Coverage Report
$ genhtml coverage/lcov.info -o coverage/
# Open Coverage Report
$ open coverage/index.html