Skip to content

Latest commit

 

History

History
59 lines (50 loc) · 2.33 KB

README.md

File metadata and controls

59 lines (50 loc) · 2.33 KB

Hawaii Non-Profit Grant Tracker

Webpage that is updated for grants and funding opportunities, relevant to non-profits operating in the State of Hawaii.

Demo

Prototype screenshot

Technical Details

Built with:

Application Flow

The database for the application is a Google Sheet, which is auto-populated by a Google Form. Doing so allows for a standardized data format to be ingested by the NodeJS API layer.

The API is located in app.js, which handles authentication and data collection from the Google Sheet. An example output of the data is the following JSON response:

result: [
    {
        "lastUpdated":"6/10/2021 10:11:35",
        "funder":"The Home Depot",
        "federal":"No",
        "title":"COMMUNITY IMPACT GRANTS ",
        "description":"Supports housing modifications/repair projects for vulnerable and underserved populations and Veteran service organization projects directly impacting the lives of veterans.",
        "eligibility":"Nonprofit, Tax-exempt public service agencies in the U.S.",
        "programFunding":"Unspecified",
        "minAward":"Unspecified",
        "maxAward":"$5,000",
        "dueDate":"12/31/2021",
        "url":"https://corporate.homedepot.com/foundation/communityimpactgrants"
    }
]

The logic for the table is located in public/index.js. The library supports fetching data from a remote source (i.e. our API), and has lots of features to customize (future work).

Building and Running

Create a file called config.js, which holds your API keys to interact with Google's API:

module.exports = {
    'HOSTPATH': 'http://localhost',
    'PORT': 3000,
    'client_email': 'YOUR_CLIENT_EMAIL',
    'private_key': 'YOUR_PRIVATE_KEY',
    'REDIRECT_PATH': '/redirect'
   };

For more information, please refer to the docs for node-google-spreadsheet.

Install Docker and Docker-Compose:

git clone https://github.com/jamesthesken/hi-grant-tracker.git
cd hi-grant-tracker/
docker-compose up --build