Reporter Dashboard brings all your data from the Reporter App to the browser. The Reporter Dashboard ingests your data from either a Reporter App export or directly from Dropbox to mongoDB using the current schema. The API endpoints deliver basic things like a summary of the data, your coffee intake, daily steps, and more! Data is visualized with D3 on your home dashboard. Customize the dashboard with your data to create new endpoints and new visualizations!
If you upload your data to dropbox, you can use npm run dropbox-import to import all existing data into the database or run the script on your server to always keep your dashboard up to date. First, you will need a DROPBOX_TOKEN. Find how to get all the needed environment variables below.
User permissions stop anyone from seeing your personal data without, well, your permission. Reporter Dashboard requires a login to see anything from the app. Accounts can only be made by those with logins.
git clone https://github.com/JasonBernert/reporter-dashboard.gitnpm install- Set up a database
- Add environment variables
- Import data
npm start
Reporter Dashboard was built with Node v7.10.0.
For this project I set up mongoDB with mLab to save some time. Here's how to get your DATABASE variable, if you choose to do the same.
- Create and account
- Add a new database on AWS with the Sandbox plan.
- Add a user
- Copy your URI, replacing
<dbuser>:<dbpassword>with your user info, intovariables.envafterDATABASE=.
These variables are needed to get up and running:
DATABASEsee Setting Up The DatabaseDROPBOX_TOKENlearn how to get yours hereSECRETcan be any any stringKEYcan be any any string
These are optional:
PORTdefaults to 7777.DROPBOX_KEYandDROPBOX_SECRETare not needed for the app, but a place to store them just in case Dropbox adds official Node support down the road.
Data can be imported via dropbox or a JSON export from Reporter. First make sure your database is up and running and the Snapshot model is up to date – the model has changed in the past.
- From Reporter, export your data to JSON format.
- Place the
reporter-export.jsonfile into the/datadirectory. - Run
npm run file-import.
- Make sure you have your Dropbox developer token in
variables.env. - Run
npm run dropbox-import.
You can also delete your snapshot data with npm run delete-data in case you need to start fresh.
- Shout out to Nicholas Felton and Drew Breunig for Reporter App.
- This project used hackathon-starter, a boilerplate for Node.js web applications.
- Weather icons created by Erik Flowers. v1.0 artwork by Lukas Bischoff. v1.1 - 2.0 artwork by Erik Flowers.
- The Noun Project for non-weather icons.