Skip to content

Configuration data

Introduction

The app’s model classes are defined in benefits/core/models.py.

Migrations are run as the application starts up. See the bin/init.sh script.

The sample values provided in the repository are sufficient to run the app locally and interact with e.g. the sample Transit Agencies. Django fixtures are used to load the database with sample data when running locally.

During the deployment process, some environment-specific values are set in environment variables and read dynamically at runtime. Most configuration values are managed directly in the Django Admin interface at the /admin endpoint.

Sample data

The sample data included in the repository is enough to bootstrap the application with basic functionality:

  • Multiple transit agency configurations
  • Multiple eligibility verification pathways
  • With and without authentication required before eligibility verification
  • In concert with the sample eligibility server, verification with test user data

Not included

Some configuration data is not available with the samples in the repository:

  • OAuth configuration to enable authentication (read more about OAuth configuration)
  • reCAPTCHA configuration for user-submitted forms
  • Payment processor configuration for the enrollment phase
  • Amplitude configuration for capturing analytics events

Rebuilding the configuration database locally

A local Django database will be initialized upon first startup of the devcontainer.

To rebuild the local Django database, run the bin/reset_db.sh script from within the repository root, inside the devcontainer:

bin/reset_db.sh

See the Django Environment Variables section for details about how to configure the local database rebuild.