/BASTA-tfwa

Web application to help tenants keep track of documentss related to their rental unit

Primary LanguageC#

BASTA-tfwa

Web application to help tenants keep track of documents related to their rental unit

What problem are you trying to solve?

Tenants, especially low-income tenants, and advocates need to be save and organize records related to units and complexes. Records include photos, receipts, the lease terms, notes from the landlord, fees/fines, and incident reports. We're looking for an accessible platform designed for those that BASTA works with -- easy to text or upload in, making metadata clear, and with flexible security settings.

That would be version 1.

For later versions: Eventually, we'd also like to be able to auto-generate forms and complaints for repair requests and code complaints. Include nudges/to-do lists to let tenants and others know when to submit records or take other actions. Incorporate Appraisal District and Census datasets. Display data publicly on a map / something visually appealing.

Document types: Leases Notices Photos of conditions Apartment Newsletters Bills (Utility, Rent, etc) Lease Violations Court summons Petitions Letters/notes to MGMT Receipts Checks

Who will benefit (directly and indirectly) from your project?

Tenant organizers and tenants facing gaslighting, neglect, or abuse by landlords.

What other resources/tools are currently serving the same need? How does your project set itself apart?

Justfix.nyc creates tech to help tenants, but only for those residing in New York City. PDF checklist for Texans is here. Other big PDF handbooks also exist.

We recently came across this application designed to help human rights organizations organize documents.

Where can we find any research/data available/articles?

Audrey McGlinchy writes about housing, zoning, and eviction in Austin. This recent article discusses ways in which tenants are taken advantage of with mandatory fees.

Here's the link to our Google Drive folder.

What help do you need now?

We're relatively new to legit web development, so we need help with...everything! We want to think through the most reasonable way to get this set up in stages -- first being very simple, then building out from there.

What are the next steps (validation, research, coding, design)?

How can we contact you outside of Github(list social media or places you're present)?

@e_shackney on twitter

Required and Recommended local tools

Most team members use the following tools. Required tools are noted.

  • dotnet: Required to compile and run the API. Download here
  • nvm: A highly recommended version manager for node. Download here
    • If you don't use nvm, then acquiring node directly is required. Download here

Once nvm is installed, you can cd into tenant-file/portal-app and run nvm use. This will install the appropriate version of node (if not already installed), and set your local environment to the specified version. Currently we're using Node v14 LTS.

Development on the backend requires:

  • Docker: Used for having a more easily setup postgres development environment. Install from here
  • gcloud: A recommended tool to interact with the google cloud platform. Instruction to install are here

Running the Server Locally

You will need a database running locally for the server to connect to. You can run the local server by executing the ./startup.sh script in the local-development folder.

Google Cloud Account

You will need a Google Cloud account to interact with several services that we use (primarily the database).

Once you have a Google Cloud account, follow the instructions here to set up local application credentials. This is currently necessary to run the API.

Database Migrations

https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/?tabs=dotnet-core-cli

dotnet ef migrations add <MigrationName> dotnet ef database update

npx apollo schema:download --endpoint=http://localhost:8080 graphql-schema.json npx apollo client:codegen --localSchemaFile=graphql-schema.json --target=typescript --includes="src/**/*.ts*" --tagName=gql