Covid App

COVID-19 application made with Flutter, following Test Driven Development (TDD) and Clean Architecture along with Internationalization with JSON and CI/CD workflow.

Features:

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 - en-US and hi-IN.
  • CI/CD workflow with Github actions and secrets.

Preview:

ss_1

ss_2

ss_3

ss_4

ss_5

ss_6

ss_7

ss_8

APIs used

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 api_key.dart inside the lib folder.
  • 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

TODO

  • [ ] Web version
  • [ ] Full test coverage including Integration Test
  • [ ] Improve Documentation

GitHub

https://github.com/thecodexhub/covid-app