GithubHelp home page GithubHelp logo

melks / corporate-dashboard Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ryanccollins/corporate-dashboard

0.0 1.0 0.0 3.01 MB

:fire: A blazingly fast corporate dashboard single page web application, built with a focus on component oriented design with React, Relay & GraphQL

Home Page: https://corporate-dashboard-client.herokuapp.com/

License: MIT License

JavaScript 57.59% HTML 0.59% CSS 41.82%

corporate-dashboard's Introduction

Code Ship Badge

Corporate Dashboard

About

A corporate dashboard web application, built with a focus on component oriented design, UI / UX and performance. Built with React, Redux and GraphQL.

Background

A performance oriented single page web application built using cutting edge techniques and technologies, including the Flux Unidirectional Data Flow, and Component Oriented Design. Written in cutting-edge Functional JavaScript transpiled via Babel and Webpack, following the AirBnB Style Guide. The application has full test coverage on every component, container and page.

Runs a GraphQL-based backend and serves data from JSON and CSV files. Uses accessibility and UX best practices to provide a reactive mobile-first web user interface. Loading a complex data model via Apollo Client, the application handles all of the data flow through the Flux pattern, while still allowing for colocated component oriented design. It loads data in realtime, polling the server at regular intervals.

Using complex chart components from the Grommet UX library, the application provides an interactive GUI for exploring data.

The application includes the following views:

  1. A geospatial view, identifying the number of employees at various company locations.
  2. A “key metrics” view, containing components displaying: the number of open issues, a line chart reflecting number of paying customers over a period of time, and a bar chart reflecting number of reported issues over a period of time.
  3. A “data view” of all issues, with an appearance similar to a spreadsheet, that is sortable and filterable.
  • The data view uses polling to load data from the server at a set interval.
  • The components are built to be extremely, reactive.

Getting Started

The project started as a fork of the Scalable React Boilerplate project. Please reference the repository for details on the features and conventions of the boilerplate.

Installing

The package.json file includes over a dozen npm scripts to make most tasks a breeze.

Installation can be achieved by running

npm run setup

To get the development server running, please run

npm run start

Scripts

Scripts can be referenced from the Scalable React Boilerplate Project repo.

If you just want to serve the minified and chunked bundles, which might be faster, you can run

npm run serve:bundle

In production, the client connects to the heroku server. You can run the server locally with the following command.

NODE_ENV=development node server

Testing

The test suite contains over 70 tests and can be run with

npm run test

Deployment

The app is deployed to Heroku and has a CI suite running with Codeship. It is running Express JS and GraphQL on the server.

Built With

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Troubleshooting

When working with a team on a project that uses Node, it is important that everyone use the same version of node and npm. In the case of this project, we are using Node version 5.2.0.

Instructions for installing NVM and setting your node version for the project can be found here.

If you get an error message, such as "Unexpected token import", that means that your Babel installation is not working right. Please see here for potential troubleshooting steps.

Acknowledgments

Many thanks to the Grommet UX teams and the teams building React, Redux, GraphQL and Apollo.

Screen Shots

Main Data Page Key Metrics Geospatial Home With Nav

corporate-dashboard's People

Contributors

ryanccollins avatar

Watchers

James Cloos avatar

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.