Housing alert is a web app and sms-based free service that aims to close the digital divide by making the process of finding and applying to affordable housing accessible for people who don’t have internet service or don’t know how to use the internet.
https://housing-alert.herokuapp.com
- Express - Node.js framework
- Passport - User Authentication
- Sequelize - ORM for PostgreSQL database
- React - UI library
- Twilio - SMS messaging and other communications platform
- Google - OAuth2 Authentication, Google Maps, Google Geocoding
- DAHLIA - San Francisco Affordable Housing Portal
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
You'll need everything below to run this application. Installation instructions can be found via link below.
- Node
- Postgres.app(Mac only) Alternative: PostgreSQL
- NPM
A List of API keys that you would need to obtain prior running this project can be found in server/config/keys.js file
From Twilio, you would need:
- Twilio phone number
- Twilio account SID
- Twilio auth token
- Authy API key
- Verify service SID
From Google, you would need:
- Google oauth2 client ID
- Google API key
After installing all the prerequisites, please follow this step by step guide to get your development env running
- In your terminal, navigate to where you would like to store this project. Then run
$ git clone https://github.com/isabelleyiu/housing_alert.git
- Go into the project directory by running
$ cd housing_alert
- To install server-side dependencies, run:
$ npm install
- To install client-side dependencies, run:
$ npm run client-install
-
In order to connect your database to the project. Make sure that your PostgreSQL database is running.
-
In your terminal prompts create database housing_alert
$ createdb housing_alert
- Connect to the database with PostgreSQL to make sure you have your database setup
$ psql housing_alert
- open the config.json file in server/config directory. If you are using VS Code, run
$ code server/config/config.json
- Update the development part of the file with details from your database. If you didn't create an username and password, your config.json should look something like this. This will allow Sequelize to create all of the neccessary tables for you.
{
"development": {
"username": "",
"password": null,
"database": "housing_alert",
"host": "127.0.0.1",
"dialect": "postgres",
"timezone": "-07:00"
}
}
- In your root directory, create a .env file to hold all of your API keys that you get beforehand. You will at least need the following info to get the project running.
SESSION_SECRET=1234567890
TWILIO_PHONE=1234567890
TWILIO_ACCOUNT_SID=1234567890
TWILIO_AUTH_TOKEN=1234567890
- At this point, you should have everything you need to run this project. Start up the servers by running command in your root directory.
$ npm run dev
Viola. Your back-end server should now be running at port 5000, and client server running at port 3000.
Happy hacking!
- Isabelle Yiu - Initial work - isabelleyiu
This project is licensed under the MIT License - see the LICENSE.md file for details
- This is a final Project for Techtonica program.