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:

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

Contribution

Do not hesitate to raise an issue or contribute to it, or suggest changes in the codebase. Opinions are highly appreciated!

License

The project is released under the MIT License. The license can be found here.

Getting Started

For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

If you like this repository, kindly give it a star ⭐

GitHub

View Github