GithubHelp home page GithubHelp logo

nibble0101 / coviweb Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 588 KB

A Single Page Application(SPA) which displays up-to-date COVID-19 statistics.

Home Page: https://coviweb.netlify.app/

License: MIT License

HTML 1.96% JavaScript 68.70% CSS 29.33%
covid-19 reactjs single-page-applications beginner-project

coviweb's Introduction

coviWEB

This is a single page application which displays up-to-date COVID-19 statistics built using React.js. The project is hosted live on Netlify and it can be viewed Here.

Data Source

Covid-19 data displayed in this application is obtained from NOVEL COVID-19 API. A list of COVID-19 related articles is retrieved from New York Times API and COVID-19 facts from Johns Hopkins.

Dependencies

In addition to using HTML, CSS and React.js for building this project, i have also used d3.js for data visualization, react-router-dom for managing the routes and react-reveal for animation. For a full list of dependencies, check the package.json file.

License

MIT

Live Project

The project is hosted live Here on Netlify.

Netlify Status

coviweb's People

Contributors

nibble0101 avatar

Watchers

James Cloos avatar

coviweb's Issues

Refactor styles

Refactor CSS so that each component has a separate CSS file.

The page shouldn't be possible to scroll if hamburger menu is open in mobile view.

If a client is using a mobile device and the hamburger menu is open, the scroll behavior should be disabled. This is however not the case. If the browser is reduced to the size of a mobile device, and the hamburger menu is opened, it is possible to scroll the document.
image

This, I believe, can be solved by toggling a lock-scroll class on document.body and in the CSS, something like .lock-scroll{overflow: hidden} will do.

COVID-19 data not available for Sudan in visualizations page but available in dashboard

If you navigate to the visualization page, Sudan currently doesn't have COVID-19 data yet in the dashboard, there is data for Sudan. I suspect there is a mismatch between ISO codes from topoJSON data and the NOVEL COVID-19 API. Other countries without COVID-19 data are Somaliland, Turkmenistan and North Korea. The last three most likely do not have COVID-19 data available from the API but it is also worth checking out to be sure.

Use of data stored in local storage doesn't have a time frame.

In the Press component, data is fetched from the New York Times API and stored in local storage so that the data is retrieved and used if it already exists next time the client navigates to this page. The data already in local storage however is used indefinitely yet new articles are being added to the API periodically.

It is therefore important to add a time frame within which data in local storage is usable. This can be 24 hours, 48 hours e.t.c
This can be achieved by adding the current date from Date.now() and deferring data retrieval from the API if the difference between Date.now() and date in local storage is less than 24 * 60 * 60 * 1000. Of course the 24 is if it is decided that the "expiry" time frame is 24 hours.

Refactor app

The whole app needs refactoring so that best practices are integrated.

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.