Coder Social home page Coder Social logo

devinit / datahub Goto Github PK

View Code? Open in Web Editor NEW
15.0 10.0 3.0 18.66 MB

Datahub v2

Home Page: http://data.devinit.org

JavaScript 1.80% HTML 0.04% Shell 0.13% TypeScript 97.66% Dockerfile 0.10% CSS 0.27%
nextjs reactjs apollo-client redux storybook graphql d3 mapbox-gl webpack datahub

datahub's Introduction

Build Status Codacy Badge Dependency Status codecov

Installation

 npm install

Scripts/Commands

  • npm run pull fetches updates from the CMS and syncs the appropriate project files. Be sure to specify the correct API URL, otherwise you may pull incorrect data.

TODO:


  • Maybe replace redux with unistore
  • Use greenlet for webworkers --> didnt pan out well
  • Explore purgecss for css optimisation --> need to carry out some tests
  • Explore reactpot for further perf

Important Points / guides


  • Develop from a unix OS (MacOs , ubuntu etc). I dont plan to add windows support.

  • Prefer to use vscode, it has very good typescript support.

  • We are building on top of next.js see next.config.js for configs.

  • npm run build-fragment to build out a fragment json for grapqhl union types

  • we use npm config variables to prefill some global constants such as the API et la see for more

  • In dev mode we run a nodemon process, it sometimes doesnt die when you cntrl-c. You could use lsof -i tcp:4444 to find its PID and then kill it with kill -9 <PID>.

Cypress testing

  • check out the apps cypress dashboard here)
  • You need to have run npm run build:next before running the cypress-open command. Checkout the readme file in cypress directory for more.

Pain Points / issues

  • Currently stack with npm instead of yarn. The thing with installing with yarn, is that the charts library will stop working well for some charts. This may have to do with the way npm installs dependencies vs yarn.

  • For some reason cypress tests fail on travis. Temporary measure is to have them run on the git push pre hook.

datahub's People

Contributors

aleku399 avatar edwinmp avatar epicallan avatar ernest-okot avatar greenkeeper[bot] avatar jamesharle avatar kbuhiire avatar kraib avatar renovate-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

datahub's Issues

Develop API functions for page narratives

  • Global maps
  • unbundling aid & unbundling other official flows
  • country profiles
  • country spotlights
  • where are the poor and where will they be
  • bubble charts in other visualisation tab

ui enhancements and missing bit

  • country profiles tool tips
  • navigation on blur event
  • country search enhancements
  • methodology page template
  • where are the poor missing markup below the viz
  • site optimisations
  • unbundling menu drag and drop
  • help overlay section on global maps

Web site pages layout templates

Depends on page navigation and layout design decisions that are yet to be made

  • Global maps page
  • unbundling aid & unbundling other official flows page
  • country profiles page
  • country spotlights page
  • where are the poor and where will they be page
  • bubble charts pages

Bubble chart as react component

  • navigation component for poverty & different providers page
  • bubble chart with year slider
  • configuration component
  • poverty bubble chart overlay info component

Global maps page API integration

By end of this task all global maps should be working fine in each tab with live data and the global maps page should be ready for sign off

  • poverty tab
  • official tab
  • humanitarian tab

add others later

Maps as react components

  • global maps component as react component
  • country map component as react component
  • map components i.e key, description and year slider functionality

set up application structure with necessary boilerplate

  • routing with code splitting
  • graphql
  • stories (for viewing components in isolation)
  • make stories deployable to now currently held up by this issue
  • flow integration
  • server side rendering
  • add travis
  • test out now deploys
  • service worker and localforage integration for offline access

develop data schemas for page narratives

  • Global maps
  • unbundling aid & unbundling other official flows
  • country profiles
  • country spotlights
  • where are the poor and where will they be
  • bubble charts in other visualisation tab

setup page narratives file templates

This task also Involves setting up schemas for each page narratives

  • Global maps
  • unbundling aid & unbundling other official flows
  • country profiles
  • country spotlights
  • where are the poor and where will they be
  • bubble charts in other visualisation tab

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.