COVID-19 application made with Flutter, following Test Driven Development (TDD) and Clean Architecture along with Internationalization with JSON and CI/CD workflow.
Ths project has several features:
- Fetch Covid cases and latest news related to COVID-19 from APIs.
- Cache data in local storage, use when no internet connection is available.
- Error handling for Server failure and Cache failure.
- Flutter Bloc state management.
- Test Driven Development (TDD).
- Follow ResoCoder's Clean Architecture. For details, click here.
- Internationalization with JSON for two locale values -
- CI/CD workflow with Github actions and secrets.
Running the project
To run this project, some configuration steps are required.
- Create your own API key from newsapi.org.
- Create a new file named
- Paste the following line with your API key.
const String NEWS_API_KEY = 'YOUR_API_KEY';
Learn Test Driven Development and Clean Architecture
Additional documentations that might help
- Internationalizing Flutter apps: https://flutter.dev/docs/development/accessibility-and-localization/internationalization
- CI & CD with Flutter: https://flutter.dev/docs/deployment/cd
- Flutter GitHub Actions - Automate Your Workflow: https://github.com/marketplace/actions/flutter-action
- Web version
- Full test coverage including Integration Test
- Improve Documentation
Do not hesitate to raise an issue or contribute to it, or suggest changes in the codebase. Opinions are highly appreciated!
For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.