A Carleton College Computer Science department Comps with the goal of creating an app detailing Carleton's energy usage.
- React Native - App development framework
- React Navigation - RN package, provides tab and stack navigation for the app
- Redux - RN package, handles navigation state, and data state for the app
- Victory - RN package, creates data visualizations
- Node - Necessary dependency for RN
- npm - Package manager, included with Node
- Expo - sets up necessary RN dependencies, and provides tools for smoother development
Before running this project, a few dependencies must be installed.
(Note: if at any point you have issues, check out the getting started guides for React Native and Expo)
- Clone this repository, and cd to carleton-energy-app/energy-app-react
- Then, run the following command to install the necessary dependencies:
npm install
- Run the app with:
npm start
From here, either scan the QR code on the Expo mobile client on your phone, or press 'A' to run the Expo app on the Android emulator, or 'I' to run it on the iOS simulator.
If you simply want to see a demo of the app, you can download the Expo mobile client, and scan our QR code. (Note: the version of our app on Expo is our most stable version, and pulls from our Master branch).
In order to deploy the app to the app store/play store, please check out the following guide
- Jesse Bolton - jboltron3000
- Veronica Child - childv
- Martin Green - Martination
- Jack Kennelly - Kennelly57
- Liv Phillips - phillipsl0
- Andrew Woosnam - atwoosnam
See also the list of contributors who participated in this project.
- Jeff Ondich, our comps advisor
- Martha Larson, our client
- Dave Flynn, Mike Tie, and Matt Ryan
- Jeff's Energy Analytics Comps Team for their help wrangling data
- Hook up all live data
- Make server accessible from off campus
- Set up time out in case server is inaccessible
- Fix styling issues in Android (graph labels, Turbine card image margins)
- Fix graph labels on Individual Buildings page
- Make sure that energy conversions are accurate
- API calls:
- Get historical high and low for each building, for use in heat map normalization
- Ask Martha if she wants this normalization as a static number or as a percentage of the building's high
- Add up all data points for the graphs (aka daily sum, weekly sum, monthly sum, and yearly sum) on the server side