Flask Boilerplate for profesional development

Open in Gitpod

Features

  • Extensive documentation here.
  • Integrated with Pipenv for package managing.
  • Fast deloyment to heroku with $ pipenv run deploy.
  • Use of .env file.
  • SQLAlchemy integration for database abstraction.

How to stat the project?

There is an example API working with an example database. All your application code should be written inside the ./src/ folder.

  • src/main.py (it's were your endpoints should be coded)
  • src/models.py (your database tables and serialization logic)
  • src/utils.py (some reusable classes and functions)

For a more detailed explanation look for the tutorial inside the docs folder.

Remember migrate every time you change your models

You have to migreate and upgrade the migrations for every update your make to your models:

$ pipenv run migrate (to make the migrations)
$ pipenv run upgrade  (to update your databse with the migrations)

Manual Instalation for Ubuntu & Mac

⚠️ Make sure you have python 3.6+ and MySQL installed on your computer and MySQL is running, then run the following commands:

$ pipenv install (to install pip packages)
$ pipenv run migrate (to create the database)
$ pipenv run start (to start the flask webserver)

Deploy your website to heroku

This template is 100% compatible with heroku, just make sure to understand and execute the following steps

// Install heroku
$ npm i heroku -g
// Login to heroku on the command line
$ heroku login -i
// Create an application (if you don't have it already)
$ heroku create <your_application_name>
// Commit and push to heroku (commited your changes)
$ git push heroku master

⚠️ For a more detailed explanation on working with .env variables or the MySQL database read the full guide.