Skip to content
This repository has been archived by the owner on Apr 17, 2019. It is now read-only.

cuappdev/podcast-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Podcasts API

Virtual Environment

Make sure you have virtualenv installed.
On creating a virtualenv called venv, run the following:

pip install git+https://github.com/cuappdev/appdev.py.git#egg=appdev.py
pip install -r requirements.txt

Setting up Database

Ensure you have mysql plus command line tools setup. Then run the following. It creates databases, migrates them, and loads in necessary dev / test data:

./setup.sh

If the migrations directory is ever deleted, you can regenerate it with the following:

python manage.py db init --multidb

Environment Variables

I highly recommend autoenv. The required environment variables for this API are the following:

DB_USERNAME
DB_PASSWORD
DB_HOST
DB_NAME
PODCAST_DB_USERNAME
PODCAST_DB_PASSWORD
PODCAST_DB_HOST
PODCAST_DB_NAME
TEST_DB_USERNAME
TEST_DB_PASSWORD
TEST_DB_HOST
TEST_DB_NAME
TEST_PODCAST_DB_USERNAME
TEST_PODCAST_DB_PASSWORD
TEST_PODCAST_DB_HOST
TEST_PODCAST_DB_NAME
APP_SETTINGS # e.g. config.DevelopmentConfig
FACEBOOK_APP_ID
FACEBOOK_APP_SECRET
PODCAST_ML_API_KEY
PODCAST_ML_URL

FACEBOOK_APP_ID and FACEBOOK_APP_SECRET can be obtained by logging in to facebook developers page and creating an app or from the project lead. If using autoenv for local development, create a .env file, like the sample below:

export DB_USERNAME=CHANGEME
export DB_PASSWORD=CHANGEME
export DB_HOST=localhost
export DB_NAME=pcasts_db_dev
export PODCAST_DB_USERNAME=CHANGEME
export PODCAST_DB_PASSWORD=CHANGEME
export PODCAST_DB_HOST=localhost
export PODCAST_DB_NAME=pcasts_podcast_db_dev
export TEST_DB_USERNAME=CHANGEME
export TEST_DB_PASSWORD=CHANGEME
export TEST_DB_HOST=localhost
export TEST_DB_NAME=test_pcasts_db_dev
export TEST_PODCAST_DB_USERNAME=CHANGEME
export TEST_PODCAST_DB_PASSWORD=CHANGEME
export TEST_PODCAST_DB_HOST=localhost
export TEST_PODCAST_DB_NAME=test_pcasts_podcast_db_dev
export APP_SETTINGS=config.DevelopmentConfig
export FACEBOOK_APP_ID=CHANGEME
export FACEBOOK_APP_SECRET=CHANGEME
export PODCAST_ML_API_KEY=CHANGEME
export PODCAST_ML_URL=CHANGEME

In the /tests directory, create another .env file that changes the APP_SETTINGS:

export APP_SETTINGS=config.TestingConfig

Testing

To run all unit tests, from the /tests directory, run:

./test.sh

To run a single test, from the /tests directory, run:

./test.sh test_file_name.py

About

Podcast backend app layer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages