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.git
npm 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.env
afterDATABASE=
.
These variables are needed to get up and running:
DATABASE
see Setting Up The DatabaseDROPBOX_TOKEN
learn how to get yours hereSECRET
can be any any stringKEY
can be any any string
These are optional:
PORT
defaults to 7777.DROPBOX_KEY
andDROPBOX_SECRET
are 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.json
file into the/data
directory. - 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.