Skip to content

Application Structure

Timothy Ko edited this page Oct 24, 2018 · 2 revisions

Application Structure

  • api/views/ - Holds files that define your endpoints
  • api/models/ - Holds files that defines your database schema
  • api/__init__.py - What is initially ran when you start your application
  • api/utils.py - utility functions and classes - explained here
  • api/core.py - includes core functionality including error handlers and logger
  • api/wsgi.py - app reference for gunicorn
  • tests/ - Folder holding tests

Others

  • config.py - Provides Configuration for the application. There are two configurations: one for development and one for production using Heroku.
  • manage.py - Command line interface that allows you to perform common functions with a command
  • requirements.txt - A list of python package dependencies the application requires
  • runtime.txt & Procfile - configuration for Heroku
  • Dockerfile - instructions for Docker to build the Flask app
  • docker-compose.yml - config to setup this Flask app and a Database
  • migrations/ - Holds migration files – doesn't exist until you python manage.py db init if you decide to not use docker