Home Unite Us is a community developed web platform designed to support and scale the host homes initiative.
Host homes provide short-term housing interventions for young people, aged 18-25, who are experiencing homelessness for any variety of reasons. The process for matching youth with a temporary safe space can be challenging, but numerous organization have implemented programs tailored to the needs of their local area. These implementations can vary in their exact policies and procedures, but they are all driven by the core principles of the host homes initiative and they often share an overlapping set of technological needs.
The Home Unite Us team is working hard to create the technology that can meet those needs in a scalable fashion. Our pilot program allows guests and hosts to easily submit applications, and provides coordinators with a dashboard that makes the home matching process simpler. The stable version of Home Unite Us is at https://homeunite.us/ and our most up to date beta features can be found at https://dev.homeunite.us/.
Interested in joining our team? See our contribution guide to get started!
This project is part of a larger initiative at Hack for LA around creating a shared housing application, that can be used by organizations across the county to help people transition to living independently and sustainably through host homes, empty bedrooms, and roommate matching for shared housing with lease signing.
The HomeUniteUs project is structured as a multi-docker container application, with secret-protected access to networked resources. The project contains five containers, whose activities are coordinated using the docker compose
configuration outlined in docker-compose.yml
. The five containers are:
frontend
: A frontend React app developed using TypeScript.
backend
: A backend python API, hosted on AWS.
FastAPI
as its web framework.db
: A PostgreSQL database container.
db-data
.motoserver
: A development tool. It runs moto
in Server Mode.
pgadmin
: An optional development tool. It is a container running pgAdmin4. pgAdmin4 is database administration and development platform for PostgreSQL.
db
container.Since this project is Dockerized, you can choose to either build the backend and frontend apps as Docker containers or directly onto your local machine. This guide will focus on Docker builds, but full local build and deployment instructions can be found in the api and app READMEs.
Also note that the code in this repo should build without issue on Linux, Windows, and MacOS. We do, however, utilize some Linux-only tools during deployment and primarily target the Linux platform.
Building with Docker is the simplest option, and debugging applications within the container is also easy with some configuration.
docker compose up -d --build
shell command from the root directory:http://localhost:4040
in any browser to use Home Unite Us.pgAdmin4
is available at http://localhost:5050/browser/ to query the database.moto
server is available at http://localhost:5000/moto-api/ to view mocked AWS data.For local development, test users already exist when started using Docker.
The password for all test users is Test123!
.
guesta@email.com
, guestb@email.com
, ... guestz@email.com
)coordinatora@email.com
, coordinatorb@email.com
, ... coordinatorz@email.com
)hosta@email.com
, hostb@email.com
, ... hostz@email.com
)Testing instructions for each application are in the backend and frontend README files.