Main URL: http://family-promise-dev.us-east-1.elasticbeanstalk.com
Perform SQL query of database according to filters implemented by user. Only pick out the following columns, and include those in a single JSON object that will be sent to DS API:
service_type_name
fromservice_types
table.
Plus:
- address
- address_line2
- city
- state
- zip
- country
from locations
table.
*zip codes are pulled from github repo link and added to a dataframe based on pulled zip
A JSON object containing:
- recipient_id
- recipient_veteran_status
from recipients
table.
A JSON object containing:
- recipient_id
- recipient_date_of_birth
from recipients
table.
Accepts a string containing a household_id from the households table.
Returns a JSON object containing:
- resident_assistance_eligibility: bool
- reduced_bus_fare_eligiblity: bool
Returns an integer representing the total number of recipients recorded in the database.
Returns an integer representing the total number of families recorded in the database.
Returns an integer representing the total number of children recorded in the database.
Returns an list displaying the total number of recipients of each gender in the database.
Returns a list displaying the total number of recipients of each race in the database.
Returns a list displaying the total number of recipients of each ethnicity in the database.
Returns a list displaying the total number of services done that fall under each program.
Returns a list displaying the total number of each service done.
Returns a list displaying the total number of services given at each type of location in the database.
- Create the .env file in the folder.
- Add
DATABASE_URL = postgresql://docker:****@localhost:5400/api-dev
to the .env file.- That is only for spinning up the local instance for the DS API
- Make sure the .env file matches the .env file that is in the non public documentation.
- Add
- run:
pipenv install --dev
to download all the dependencies. - run:
pipenv shell
to start the pipenv environment. - run:
uvicorn app.main:app --reload
to start running the fast api.
- When you
pipenv install --dev
on the M1 you will most likely run into issues where the Pipfile will fail to lock due to issues with psycopg2. Psyocopg2 specifically has issues pip installing on the M1. After figuring out past issues with the M1, this is a work around until there is further bug fixing on compatibility. - Install Homebrew.
- Install miniforge for arm64(Apple Silicone M1).
- miniforge Github.
- This will not work with Anaconda.
- run:
conda create --name NAME python=3.8
: creates a conda environment. - run:
conda activate NAME
: activates the conda environment.- The conda environment needs to running in order for the application to run.
- run:
conda install -c conda-forge -y psycopg2 numpy pandas
: install necessary dependencies. - Create the .env file in the folder and continue following the instructions in the section above.
- Do a normal push to GitHub repo and wait for the changes to be approved and pushed to the main branch.
- run:
git pull
to make sure code is perfect to deploy to Elastic Beanstalk. - run:
git add --all
to get all the changes to the api that has been made. - Change the version number in the
main.py
file. Example:0.37.01
- run:
git commit -m 'Depoying version 0.XX.XX to AWS'
to get all the changes add. - When you start to deploy the new changes to Elastic Beanstalk it will take latest commit you made.
- run:
eb init --region us-east-1 family-promise
to create the Elastic Beanstalk files in the application.- This step will only be required if you have not deployed to the Elastic Beanstalk environment.
- run:
eb deploy --region us-east-1 family-promise-dev
.
- Follow instruction that will given to you.
- You may have to grab your security credentials from AWS.
- Do a final push to add the final version number to the GitHub repo.
Collin Jensen | Jeremiah Evangelista | Paul Santora |
---|---|---|
Sam Ebner | Samantha Temple |
---|---|