/derby-dashboard

A web app that displays fundraising data, along with schedules and challenges

Primary LanguageJavaScriptMIT LicenseMIT

Derby Dashboard

A web app that displays fundraising data, along with schedules and challenges. Live Website

cover image of derby dashboard

Table of Contents

Prerequisites

You will need to Download and Install Node.js v6.x.x or greater

Installation

Download or clone this project

git clone https://github.com/benz2012/derby-dashboard.git

Move into the project folder

cd derby-dashboard

Install all the Javascript libraries used to build this web application

npm install

Usage

Development

You will need the following two environment variables to run the server in development: AWS_ACCESS_KEY_ID_SERVER and AWS_SECRET_ACCESS_KEY_SERVER. Request these from the project maintainers.

Create an environment variable file in the project root

touch env.js

Add the following lines to env.js

process.env.AWS_ACCESS_KEY_ID_SERVER = 'YOURKEY'
process.env.AWS_SECRET_ACCESS_KEY_SERVER = 'YOURSECRETKEY'

Run the Node/Express server in development mode.

npm start

Open a web browser and navigate to https://localhost:8080

This mode will simultaneously bundle your javascript code on every file save (nicknamed Hot Module Replacement).

Production

Bundle & Build the web application using Webpack

npm run build

Deployable static files/assets will now live in the /public directory of your project.

Worker Process

The worker process both scrapes/parses information from the web, and writes that information to an AWS DynamoDB.

You will need the following two environment variables: AWS_ACCESS_KEY_ID_WORKER and AWS_SECRET_ACCESS_KEY_WORKER, to connect to a database. You should create your own DynamoDB Tables and connect to that for testing. Contact project maintainers for proper database schema design.

Create an environment variable file in the project root

touch env.js

Add the following lines to env.js

process.env.AWS_ACCESS_KEY_ID_WORKER = 'YOURKEY'
process.env.AWS_SECRET_ACCESS_KEY_WORKER = 'YOURSECRETKEY'

Run the process

node worker

Additional

Lint the Javascript source

npm run lint

Resources

Major Libraries Used
  • Express
  • React
  • Styled Components
  • Webpack with Babel
  • AWS SDK
  • Cheerio
Maintainers

Contributing

Please contribute using Github Flow. Create a branch, add commits, and open a pull request.