/USHS-Housing-Portal

A web application that aims to centralize and streamline the everyday workflows of the team at Union Station Homeless Services, a non-profit organization committed to helping homeless individuals and families rebuild their lives.

Primary LanguageTypeScriptMIT LicenseMIT

USHS-Housing-Portal

A web application built for Union Station Homeless Services (USHS), a nonprofit organization committed to helping homeless individuals and families rebuild their lives in the San Gabriel Valley. This web app aims to centralize and streamline the everyday workflows of the USHS team: collecting landlord/unit information, browsing housing unit data, referring renter candidates, and tracking the status of the renter candidate process.

Built with: MongoDB, Express.js, Vite + React, Bun, and Firebase.

Table of Contents

Getting Started

Tools

Before you can start developing, you'll need to install these tools:

  • Bun - this is our JavaScript runtime
  • Postman or Insomnium (no account BS) - (optional) helpful tool for testing API routes
  • MongoDB Community - (optional) only needed if you wish to run the database locally

Backend

To get the backend running, run these commands from the root directory of the project:

  1. Copy the backend .env file (see Slack) into the backend directory
  2. cd backend
  3. bun install to install dependencies
  4. If running the database locally, make sure to start mongod
  5. bun run start to start the backend

Frontend

To get the Vite development server running, run these commands from the root directory of the project:

  1. cd frontend
  2. bun install to install dependencies
  3. bun run start to run the development server

Linting / Formatting

In both the backend and frontend directories, these commands are available for linting and formatting code:

  • bun run format - reformats the code without any linting
  • bun run lint-fix - fixes auto-fixable lint errors and reformats the code
  • bun run lint-check - just check for lint errors or code style issues without modifying any files (e.g. for Git pre-commit hook and CI/CD check)