Skip to content

Latest commit

 

History

History
188 lines (158 loc) · 6.7 KB

README.md

File metadata and controls

188 lines (158 loc) · 6.7 KB

Collective Liberty

A Hack4Impact UIUC project.

About

Collective Liberty collects and analyzes data to assist with stopping human trafficking. Founded in 2018, this Texas and DC-based organization develops new tactics -- including new litigation approaches, innovative law and code enforcement tactics, and policy change -- that makes it difficult for traffickers to continue to operate. They work with law enforcement, public policy advocates, survivors, and social service organizations by providing them with data, intelligence, and best practices while leveraging technology and machine learning to do so.

One of the ways they hope to scale is expanding to the general public in an informative and engaging manner. Collective Liberty currently has no public-facing products that can educate everyday people on human trafficking and how to support efforts combatting them. Additionally, while Collective Liberty currently relies on funding and support from the Texas governor’s office, prize money, individual donors, and fundraisers, a public-facing app could garner additional interest in donations or advocacy

Members

Rebecca Xun
Rebecca Xun

Product Manager
Kendall Hester
Kendall Hester

Tech Lead
Siraj Chokshi
Siraj Chokshi

Product Designer
Anooj Lal
Anooj Lal

Software Developer
Albert Cao
Albert Cao

Software Developer
Kelly Dunleavy
Kelly Dunleavy

Software Developer
Luciana Toledo-López
Luciana Toledo-López

Software Developer
Ayan Mallik
Ayan Mallik

Software Developer

Setup

Prerequisites

This project uses docker-compose to run the backend and database locally and concurrently to run everything at once.

Clone repository

To get a copy of the project, go into your terminal and run:

$ git clone https://github.com/hack4impact-uiuc/collective-liberty.git

Creating .env files

We use external integrations with Google OAuth and Mapbox, both of which require special keys to access their services.

These keys, along with other information, are stored in .env files. Both /api and /client contain their own .env file.

/api/.env

AUTH_CLIENT_ID=
AUTH_CLIENT_SECRET=
SESSION_SECRET=
API_PORT=5000
MONGO_URI=mongodb://db:27017
TEST_CLIENT_HOST=http://localhost:3000
AUTH_CALLBACK_URI=http://localhost:5000/api/login/callback

AUTH_CLIENT_ID and AUTH_CLIENT_SECRET can be retrieved from the Google API Console. Check out this tutorial for more information.

MONGO_URI currently points to a local docker instance. To point to a cloud host, simply replace the connection string.

/client/.env

REACT_APP_MAPBOX_API_KEY=
REACT_APP_TEST_API_HOSTNAME=http://localhost:5000

Create a Mapbox account to obtain an API key.

Usage

First ever run @ /:

$ yarn && yarn start

Start up project @ /:

$ yarn start

To separately start up backend @ /:

$ docker-compose up

Stop backend @ /:

$ docker-compose down

Stop backend and remove volumes (old data) @ /:

$ docker-compose down -v

Troubleshooting

Make sure that Docker Desktop is running in the background before running any commands.

Technologies

Frontend

Backend

Testing


MIT licensed · © 2020 Hack4Impact UIUC