Skip to content

Latest commit

 

History

History
46 lines (36 loc) · 3.04 KB

README.md

File metadata and controls

46 lines (36 loc) · 3.04 KB

NYC Housing Complaint Alert System

A notification system that alerts NYC tenants, tenant organizers, and other users who sign up for the service whenever a housing complaint is filed in their building.

Project Details

Please find this project's scope document and other details here
This project is staged here

Requirements

This project requires both Python, and NodeJS to run. The backend has been built in Flask, which is dependant on Python3.6, while the frontend is built in ReactJS, and requires either npm or yarn to install the required packages.

Setup:

  • Navigate to project directory on terminal, ensure that dependancies are installed
  • Setup a virtual environment using virtualenv venv. Download virtualenv here
  • Install the required packages from requirements.txt into your venv
  • Ensure that your MongoDB instance is active
  • If you plan to just run the frontend and develop the backend stack, skip the below sub-steps. If you plan to develop for the front-end stack:
    • Naviate to app/static, and run npm install to install the required dependancies for the ReactJS frontend.
    • In run.py, uncomment the call to refreshReact.sh, which creates a new build for every server build
  • This project requires a .env file at its root to run. Please contact the authors for access to the same, or compile your own based on the guidelines below.
  • python run.py

Unit Tests:

  • To run unit tests on the backend, run python -m unittest tests.py from your root directory.

Environment Variable Guidelines

This project depends on a number of environment variables to run succesfully. The same have been listed and described below.

  • NYC_311_TOKEN: Token to query NYC Open Data's 311 database. Ref here
  • GEOCLI_ID: A valid ID for the NYC GeoClient API
  • GEOCLI_KEY: A private key for the same ID to the NYC GeoClient API
  • MONGO_UNAME: A username for a MongoDB Atlas Cloud Instance with the appropriate database permissions
  • MONGO_PASS: A password for the afformentioned MongoDB user instance
  • SENDGRID_KEY: An API key to access SendGrid's email sending service. Ref here

Deployment

  • This project is set to auto-deploy from the live branch
  • Please ensure that all dependancies have been written to requirements.txt, and the app sucessfully builds, before creating a PR to merge with live.

License

GitHub

Released under a GNU General Public License (v3.0). For the full text of the license see LICENSE.

Contact

Built by a team of developers at CSEG Tech.

Email: columbiaseg@gmail.com