Coder Social home page Coder Social logo

hiteshgarg123 / corona-tracker Goto Github PK

View Code? Open in Web Editor NEW
5.0 1.0 2.0 12.67 MB

An app that provides Real-time statistics of Novel Corona virus.

License: MIT License

Kotlin 0.47% Swift 0.45% Objective-C 0.04% Dart 97.34% HTML 1.70%
corona-tracker statewise-stats india-stats dark-theme statistics flutter dart charts

corona-tracker's Introduction

CORONA TRACKER App ๐Ÿฆ 

A Flutter project to provide Real-time statistics of Novel Corona virus.

Show some โค๏ธ and star the repo to support the project

Open Source Love svg1 PRs Welcome style: lint MIT license

GitHub stars GitHub followers

Getting Started

  • Clone the repo git clone https://github.com/hiteshgarg123/CORONA-TRACKER
  • Install the dependicies flutter pub get
  • Run it flutter run

Want to try the app ?

Features ๐Ÿ’ก

  • Based on BLoC & Provider Architecture.
  • Null Safe Code-base.
  • Shows Worldwide as well as Country-wise stats.
  • Dedicated pages for India's stats.
  • Statewise stats of India.
  • Beautiful PieCharts for data visualisation.
  • Myth Buster section.
  • FAQs Section.
  • Search Functionality (in countrywise stats and India's statewise stats).
  • You can directly donate to PMNRF by opening from App.

Recent Changes ๐Ÿ•’

  • Linter Enabled.
  • Null Safety Migration.
  • Complete Data Caching.
  • Error Handling.
  • Beautiful Dark Theme.

To be implemented ๐Ÿ“

  • Complete Data Caching Service.
  • Error Handling.
  • Dark mode.
  • Top banner cutting in some devices [FIXED].
  • Pie Charts cutting from right side in some devices [FIXED].
  • Date and Numbers formatting.
  • Top buttons Regional and India Stats not fitting on screen in some devices.
  • Last Refreshed/Updated.

Dependencies โœจ

CLICK ME TO EXPAND

auto_size_text: ^3.0.0-nullsafety.0
cached_network_image: ^3.0.0
cupertino_icons: ^1.0.2
day_night_switcher: ^0.2.0+1
fl_chart: ^0.36.0
flutter_spinkit: ^5.0.0
fluttertoast: ^8.0.6
hive: ^2.0.4
hive_flutter: ^1.0.0
http: ^0.13.2
intl: ^0.17.0
liquid_pull_to_refresh: ^3.0.0
pie_chart: ^5.0.0
provider: ^5.0.0
shared_preferences: ^2.0.5
url_launcher: ^6.0.3

Preview ๐Ÿ“ธ

Light Theme ๐ŸŒž

Dark Theme ๐ŸŒ‘

Pull Requests

I welcome and encourage all pull requests. It usually will take me within 24-48 hours to respond to any issue or request. Here are some basic rules to follow to ensure timely addition of your request:

  1. Match the document style as closely as possible.
  2. Please keep PR titles easy to read and descriptive of changes, this will make them easier to merge.
  3. Pull requests must be made against master branch for this particular repository.
  4. Have fun!

Created & Maintained By

Hitesh Garg (@hiteshgarg285) (Instagram)

Credits

Getting Started with Flutter

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

corona-tracker's People

Contributors

hiteshgarg123 avatar hiteshgarg2855 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

corona-tracker's Issues

Complete Error Handling

Currently the app doesn't have any error handling !
We want to build a complete error handling solution so that , Whenever we encounter any error/exception, We can show relevant dialog box to user instead of leaving app in a dead state with user having no clue !
Things to cover :

  • Exception from APIs
    • Platform Exception
    • Socket Exception
    • Timeout
    • Status Code other than 201
    • Any other exception ๐Ÿ™‚
  • Error in fetching cached Data
  • Other errors that I might encounter while going through the code

Implement Dark Mode

Currently the App supports only one theme (i.e. Light Theme)
My Goal is to a Dark Theme and provide some kind of Switch or Interface to change themes, That will be good for both UI and UX.
Moreover, Animating the page while converting to other theme would be additional benefit for UX.

Tasks to accomplish:

  • Implement Beautiful Dark Mode.
  • Provide a Switch to change theme.
  • Animating the page into other theme ( Like Telegram ).
  • Overall good state management and Code separation to accomplish this ( Maybe using Provider).

Build a caching service.

Currently , As soon as the app opens it try to fetch the data from API and if the internet connection is poor or there is no internet connectivity in the device , The app will continue to show the Circular Progress indicators , which is not a great UX , There should be a caching service which should display the old data ( fetched most recently ) and a connectivity checker should notify the user about no connectivity , Moreover it would be nice if we can show the Last Updated status to user !

Tasks:

  • Build caching service using Hive
  • Fetch data from Local db as soon as app starts
  • Fetch data from API in background
  • Update the data on screen as well as local db as soon as App receives data from API

Migrate to official API for India Data.

Currently, The app is using unofficial API for fetching India Data. I noticed that, API has some kind of ambiguity and it is not showing accurate results.
For example, At the time of opening this issue, No. of total cases of Covid-19 in India already crossed 10M mark while the API is only displaying 8M , This is redundant.

The Goal is to migrate the codebase to use official API that provide correct statistics of India Data.

Current API : https://api.rootnet.in/covid19-in/unofficial/covid19india.org/statewise
New API : https://api.covid19india.org/data.json

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.