Skip to content

BloomTech-Labs/family-promise-case-mgmt-be

Repository files navigation

Family Promise Case Management - Backend

Introduction

Family Promise helps local communities coordinate their compassion to address the root causes of family homelessness. They tap existing local resources to empower families towards economic stability. Families come to them in crisis; they help them rebuild their lives with new skills and ongoing support. They address the issue holistically, providing prevention services before families reach crisis, shelter and case management when they become homeless, and stabilization programs once they have secured housing to ensure they remain independent.

Schema

Never edit an existing migration file. These files are only run once in production and not meant to be altered.

A visual of the schema can be seen here.

The definition file for that visual is located in the data folder in the dbdiagram.dbml file. You can load this file in your own account to visualize and make changes. All changes must be approved by staff.

Status

Deployed here: https://family-promise-case-mgmt-be.herokuapp.com/

Requirements

Details on the Labs Node Scaffolding here: https://bloomtechlabs.gitbook.io/api/

Labs teams must follow all Labs Engineering Standards.

Environment Variables

  • PORT - API port (optional, but helpful with FE running as well)
    • The following ports are whitelisted for use with okta
      • 3000
      • 8000
      • 8080
  • DS_API_URL - URL to a data science api. (eg. https://ds-bw-test.herokuapp.com/)
  • DS_API_TOKEN - authorization header token for data science api (eg. SUPERSECRET)
  • DEV_DATABASE_URL - connection string for local postgres database
  • OKTA_URL_ISSUER - The complete issuer URL for verifying okta access tokens. https://example.okta.com/oauth2/default
  • OKTA_CLIENT_ID - the okta client ID.
  • OKTA_ORG_URL - The base url for the Okta org
  • OKTA_API_TOKEN - Okta API token

See .env.sample for example values

Setup the application

  • create your project repo by forking or using this as a template.
  • run: npm install to download all dependencies.
  • run: npm run knex migrate:latest to create the starting schema.
  • run: npm run knex seed:run to populate your db with some data.
  • run: npm run tests to confirm all is setup and tests pass.
  • run: npm run watch:dev to start nodemon in local dev enviornment.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published