Giter Club home page Giter Club logo

puente-react-cra-dashboard's Introduction

Puente React Dashboard

Build Status Codacy Badge codecov

Puente React is a web dashboard used to visualize data collected on the ground in LMIC countries. It's an early prototype and it's still under development.

For more details, please see our website to see how we build technology to equip the resource-challenged.

For a live demo, please check out here Use the credentials Username: Test Password: test

For the AWS Implementation, please checkout AWS S3 URL

screencap

Project Layout

Key Folder Parent Folder Description
providers src/js Holds the modules for retrieving data and custom functions
pages src/js Holds the main layout folders for content
components src/js Holds the smaller components that are within layouts

Development

This project is built with ReactJS, Redux, and Apollo's GraphQL using a JAM Stack architecture. The visualizations are built using Recharts.

This project is a bootstrapped using create-react-app. It uses client-side rendering.

Here are some quick npm commands to get started:

  • npm install: Install Node dependencies
  • npm start-local: Start the hot reloading development server.
  • npm start: Start the Node + Express server.
  • npm test: Run the test suit and watch for changes.
  • npm build: Build a production optimized bundle of the app.
  • npm lint: Run the ESLinter.

AWS + s3

Get this React App working on AWS by installing the AWS CLI.

Deploy in your terminal

Create a s3 bucket

$ aws s3 mb s3://your-bucket-name

List to see your s3 buckets.

$ aws s3 ls

Build and deploy your app!

Dev

npm run build-local && aws s3 sync build/ s3://dashboard-react-cra-clientside-dev

Prod

$ npm run build && aws s3 sync build/ s3://your-bucket-name

Permissions and Settings

There's a decent amount that'll be necessary to get this publically consumed on the AWS website itself. Follow this guide to get those hammered out.

Resources

Standards

js-standard-style

puente-react-cra-dashboard's People

Contributors

hopetambala avatar jamesgiegerich94 avatar joseph-mccombs avatar renovate-bot avatar snyk-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

puente-react-cra-dashboard's Issues

Add Robust Linting

Describe the feature you are requesting

A clear and concise description of the functionality you would like implemented.
We have the ability to add babel-eslint to our project, but need to do a decent amount of refactoring so that we implement it correctly

Describe your use case

A clear and concise explanation of the obstacle you are facing.
The project needs to have clean, well-written code for other users to participate

Explain how this feature supports your use case? Other use cases?

Why should this be implemented in the way you are suggesting?
Babel ES-Lint is a good standard for linting projects

Export Data from Custom Forms

Describe the feature you are requesting

A clear and concise description of the functionality you would like implemented.
The ability to robustly export data collected using custom forms

Describe your use case

A clear and concise explanation of the obstacle you are facing.
Users are not able to get data from surveys they've collected data from

theming of application

Describe the feature you are requesting

A clear and concise description of the functionality you would like implemented.
Allow theming for application to be centralized

Remove sidebar

Description

Describe your issue here.
Every time the sidebar is pressed, it takes too long to open or close.

Steps to reproduce

Tell us how to recreate your issue.
Pressing the sidebar button

Expected results

What did you think would happen?
I was expecting the sidebar to first extend all the way to the bottom of the page and then to act relatively seamless

Actual results

What really happened?
The sidebar only extends to the length of the content on the page (not the vertical length of the screen) and on certain pages it refuses to work consistently

Variable number of questions on custom forms

Describe the feature you are requesting
A clear and concise description of the functionality you would like implemented.
Ability to have a variable number of questions on custom forms

Describe your use case
A clear and concise explanation of the obstacle you are facing.
Client's need flexibility with creating custom forms

Explain how this feature supports your use case? Other use cases?
Why should this be implemented in the way you are suggesting?
For a production application, it's important to give users the flexibility to create a survey and have a variable amount of questions

UI consistency throughout the application

Describe the feature you are requesting

A clear and concise description of the functionality you would like implemented.
Centralize styling for the entire application

Describe your use case

A clear and concise explanation of the obstacle you are facing.
styling is difficult because there's too much inline styling that isn't shared across the entire application

Explain how this feature supports your use case? Other use cases?

Why should this be implemented in the way you are suggesting?
By moving all core styling to the styles.js in src, we can change UI of app faster

Additional Info

Add any other information relevant to this request

Form on Form Creator clears when you press add or remove question

Description

Describe your issue here.
Whenever I add or remove a question on form creator, the buttons clear

Steps to reproduce

Tell us how to recreate your issue.
Go to the FormCreator tab on the dashboard and try to add a question or remove one

Expected results

What did you think would happen?
I expected the form to keep the values I've already entered

Actual results

What really happened?
form clears when i add or remove a question

landing page

Describe the feature you are requesting

A clear and concise description of the functionality you would like implemented.
landing page to introduce dashboard and puente's digital health approach

Describe your use case

A clear and concise explanation of the obstacle you are facing.
I don't understand how my work interfaces with Puente's entire ecosystem of technology

Explain how this feature supports your use case? Other use cases?

Why should this be implemented in the way you are suggesting?
I'd like to understand Puente's tech offerings and immediately interact with them

Additional Info

Add any other information relevant to this request

filtering mode

Describe the feature you are requesting

A clear and concise description of the functionality you would like implemented.

Add filtering so that data can be more easily parsed through

Describe your use case

A clear and concise explanation of the obstacle you are facing.

User wants to filter dashboard records by community
Screen Shot 2019-07-27 at 6 31 15 PM

Explain how this feature supports your use case? Other use cases?

Why should this be implemented in the way you are suggesting?

so that users don't have to figure out themselves

Additional Info

Add any other information relevant to this request

authentication

Describe the feature you are requesting

A clear and concise description of the functionality you would like implemented.
Adding the parse-authentication process so that users can be validated by the same credentials used on the mobile application

Describe your use case

A clear and concise explanation of the obstacle you are facing.
I'm not able to have users have relevant information regarding only their respective organizations

Explain how this feature supports your use case? Other use cases?

Why should this be implemented in the way you are suggesting?
To adhere to the conventions set up in the mobile application

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • fix(deps): replace dependency @material-ui/core with @mui/material
  • fix(deps): replace dependency @material-ui/icons with @mui/icons-material
  • chore(deps): update dependency enzyme-adapter-react-16 to v1.15.8
  • fix(deps): update dependency d3-selection to v1.4.2
  • fix(deps): update dependency deck.gl to v7.3.15
  • fix(deps): update dependency react-lottie to v1.2.4
  • fix(deps): update dependency react-window to v1.8.10
  • fix(deps): update dependency recharts to v1.8.6
  • chore(deps): update dependency chai to v4.4.1
  • chore(deps): update dependency eslint-plugin-node to v11.1.0
  • chore(deps): update dependency eslint-plugin-promise to v4.3.1
  • chore(deps): update dependency eslint-plugin-standard to v4.1.0
  • chore(deps): update dependency node to v14.21.3
  • chore(deps): update dependency nyc to v15.1.0
  • fix(deps): update dependency bootstrap to v4.6.2
  • fix(deps): update dependency d3 to v5.16.0
  • fix(deps): update dependency d3-array to v2.12.1
  • fix(deps): update dependency d3-scale to v3.3.0
  • fix(deps): update dependency leaflet to v1.9.4
  • fix(deps): update dependency leaflet.markercluster to v1.5.3
  • fix(deps): update dependency parse to v2.19.0
  • fix(deps): update dependency prop-types to v15.8.1
  • fix(deps): update dependency react-bootstrap to v1.6.8
  • fix(deps): update dependency react-pivottable to v0.11.0
  • fix(deps): update dependency react-router-dom to v5.3.4
  • fix(deps): update dependency redux to v4.2.1
  • fix(deps): update dependency sass to v1.75.0
  • fix(deps): update dependency semantic-ui-css to v2.5.0
  • fix(deps): update material-ui monorepo (@material-ui/core, @material-ui/icons)
  • chore(deps): update actions/checkout action to v4
  • chore(deps): update actions/setup-node action to v4
  • chore(deps): update aws-actions/configure-aws-credentials action to v4
  • chore(deps): update dependency chai to v5
  • chore(deps): update dependency eslint-config-standard to v17
  • chore(deps): update dependency eslint-config-standard-react to v13
  • chore(deps): update dependency eslint-plugin-promise to v6
  • chore(deps): update dependency eslint-plugin-standard to v5
  • chore(deps): update dependency mocha to v10
  • chore(deps): update dependency node to v20
  • chore(deps): update font awesome to v6 (major) (@fortawesome/fontawesome-free, @fortawesome/fontawesome-svg-core, @fortawesome/free-brands-svg-icons, @fortawesome/free-solid-svg-icons)
  • chore(deps): update spicypizza/create-envfile action to v2
  • fix(deps): update dependency bootstrap to v5
  • fix(deps): update dependency d3 to v7
  • fix(deps): update dependency d3-array to v3
  • fix(deps): update dependency d3-scale to v4
  • fix(deps): update dependency d3-selection to v3
  • fix(deps): update dependency d3-shape to v3
  • fix(deps): update dependency deck.gl to v9
  • fix(deps): update dependency eslint to v9
  • fix(deps): update dependency graphql to v16
  • fix(deps): update dependency material-table to v2
  • fix(deps): update dependency parse to v5
  • fix(deps): update dependency react-bootstrap to v2
  • fix(deps): update dependency react-leaflet to v4
  • fix(deps): update dependency react-leaflet-markercluster to v2
  • fix(deps): update dependency react-map-gl to v7
  • fix(deps): update dependency react-redux to v9
  • fix(deps): update dependency react-router-dom to v6
  • fix(deps): update dependency react-scripts to v5
  • fix(deps): update dependency recharts to v2
  • fix(deps): update dependency redux to v5
  • fix(deps): update dependency redux-actions to v3
  • fix(deps): update dependency semantic-ui-react to v2
  • fix(deps): update dependency styled-components to v6
  • ๐Ÿ” Create all rate-limited PRs at once ๐Ÿ”

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/deploy-dev.yml
  • actions/checkout v1
  • actions/setup-node v2
  • aws-actions/configure-aws-credentials v1
  • SpicyPizza/create-envfile v1
.github/workflows/deploy-prod.yml
  • actions/checkout v1
  • actions/setup-node v2
  • aws-actions/configure-aws-credentials v1
  • SpicyPizza/create-envfile v1
npm
package.json
  • @fortawesome/fontawesome 1.1.8
  • @fortawesome/fontawesome-svg-core 1.2.26
  • @fortawesome/free-brands-svg-icons 5.12.0
  • @fortawesome/free-solid-svg-icons 5.12.0
  • @fortawesome/react-fontawesome 0.1.8
  • @material-ui/core 4.8.3
  • @material-ui/icons 4.5.1
  • apollo-boost 0.4.7
  • apollo-cache-inmemory 1.6.5
  • apollo-client 2.6.8
  • apollo-link-http 1.5.16
  • bootstrap 4.4.1
  • cors 2.8.5
  • d3 5.15.0
  • d3-array 2.4.0
  • d3-scale 3.2.1
  • d3-selection 1.4.1
  • d3-shape 1.3.7
  • d3-svg-legend 2.25.6
  • deck.gl 7.3.13
  • env-cmd 10.1.0
  • eslint 6.8.0
  • final-form 4.18.6
  • graphql 14.5.8
  • graphql-tag 2.10.1
  • leaflet 1.6.0
  • leaflet.markercluster 1.4.1
  • material-table 1.55.0
  • parse 2.11.0
  • prop-types 15.7.2
  • react 16.12.0
  • react-apollo 3.1.3
  • react-bootstrap 1.0.0-beta.16
  • react-bootstrap-table 4.3.1
  • react-csv 1.1.2
  • react-dom 16.12.0
  • react-final-form 6.3.3
  • react-leaflet 1.9.1
  • react-leaflet-markercluster 1.1.8
  • react-lottie 1.2.3
  • react-map-gl 5.2.1
  • react-pivottable 0.9.0
  • react-redux 7.1.3
  • react-router-dom 5.1.2
  • react-scripts 3.4.1
  • react-test-renderer 16.12.0
  • react-window 1.8.5
  • recharts 1.8.5
  • redux 4.0.5
  • redux-actions 2.6.5
  • sass ^1.69.5
  • semantic-ui-css 2.4.1
  • semantic-ui-react 0.88.2
  • styled-components 5.0.0
  • underscore 1.9.2
  • @babel/core 7.8.3
  • @babel/plugin-proposal-class-properties 7.8.3
  • @babel/preset-react 7.8.3
  • @babel/register 7.8.3
  • @fortawesome/fontawesome-free 5.12.0
  • chai 4.2.0
  • codecov 3.6.1
  • enzyme 3.11.0
  • enzyme-adapter-react-16 1.15.2
  • eslint-config-standard 14.1.0
  • eslint-config-standard-react 9.2.0
  • eslint-plugin-import 2.20.0
  • eslint-plugin-node 11.0.0
  • eslint-plugin-promise 4.2.1
  • eslint-plugin-react 7.18.0
  • eslint-plugin-standard 4.0.1
  • jsdom-global 3.0.2
  • mocha 7.0.0
  • nyc 15.0.0
  • pre-commit 1.2.2
  • standard-version 7.0.1
nvm
.nvmrc
  • node v14.20.1
travis
.travis.yml
  • node 12

  • Check this box to trigger a request for Renovate to run again on this repository

Delete and/or Update Custom Forms on Dashboard

Describe the feature you are requesting

A clear and concise description of the functionality you would like implemented.
Ability to delete previously created forms on the dashboard

Describe your use case

A clear and concise explanation of the obstacle you are facing.
I"m not able to delete previously created surveys

Explain how this feature supports your use case? Other use cases?

Why should this be implemented in the way you are suggesting?
For a production application, it's important to give users the flexibility to create a survey and delete/update it if it's no longer useful

Additional Info

Add any other information relevant to this request

comprehensive mapping

Describe the feature you are requesting

A clear and concise description of the functionality you would like implemented.
Use kepler.gl to enable advanced mapping of tools

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.