/egyptianTsunamis

With so many charities in the world, how can we decide which ones are worthy of our time, energy, and money? With this full-stack application, users can gain insight into their favorite causes and charities.

Primary LanguageJavaScriptMIT LicenseMIT

HopeLine

Interested in getting more information about your favorite charities. Create a profile and access detailed information about the location, mission, and expenses of a charity using our HopeLine application.

Access this site at: https://egyptian-tsunamis.herokuapp.com/.

Table of Contents

About

This is a full stack deployed website that allows the user login via oAuth through their Google account. The user can choose their favorite charities by category and get recommendations on new ones. If the user wants to save a new charity, they can have it on their account for easy viewing later.

Functionality

The user will start on the landing page.

They can view some intial charities without a category filter By logging in, the user will be able to save categories and charities to their profile.

If a user wants to filter on a category, they can click on one to get the highest rated charities in that category.

By clicking on more information for any charity, it will display a charity-specific page that gives more detail about the charity, including the mission, expenses, revenue, and location.

The user can save a category and a charity and it will display on their profile page for their immediate use.

Technical Features

  • This application uses a Model-View-Controller (MVC) model with Handlebars connected to a MySQL database to determine what will render on the browser for the user.
  • This application leverages Sequelize ORM to manage the data structure.
  • This application uses the Express package to control all server applications.
  • Content is sent to Handlebars.js that controls the HTML content.

Requirements

If you are running from the deployed Heroku site, then there are no requirements to use. You can access directly at https://egyptian-tsunamis.herokuapp.com/.

If you would like to fork this application and run directly, then you will need to run: npm install in the local folder.

In order to run, you will need to prime your database:

  • Step One: Open MySQL Workbench. You will want to be sure you are connected to a root database using port 3306. If the port is different, then the code in config.js will need to be altered.

  • Step Two: Run npm run-script devscripts. This will seed the categories file so that the buttons will appear on the page.

  • Step Three: You will need a Charity Navigator APP_ID and APP_KEY. This can be obtained at https://www.charitynavigator.org/index.cfm?bay=content.view&cpid=1397.

  • Step Four: Create a file named .env, add the following to it, replacing the comment with your root password to MySQL (no quotes):

# SQL Password

password = //enter password here - no quotes are needed

 # Charity Navigator API keys

APP_ID= // enter your Charity Navigator app_id
APP_KEY= // enter your Charty Navigator app_key

Then run npm run-script build in the command line. If successful, the console will confirm the PORT that it is running. You will need to visit http://localhost:3000 to test the functionality.

Build Tools

Acknowledgements

  • Thanks to all of the authors of Node.js packages - they are invaluable.

License