Skip to content
Umair Khan edited this page Mar 7, 2020 · 5 revisions

Flask Boilerplate

I started this repository to make starting any new project easier than ever before, Thus tried to cover a simple API implementation in the boilerplate. This is going to help me and others to just focus on API implementation instead of thinking and spending a lot of time on setting up project infra.

This project utilizes below libraries,

  1. Flask SqlAlchemy (Wrapper on SqlAlchemy)
  2. Flask Migrate (Wrapper on Alembic)
  3. Flask Manager (Wrapper on Flask Scripts)
  4. Gunicorn (Web Server)

Features

  • Complete end to end implementation of a CRUD user story.
  • It supports environment specific configuration using .env file.
  • Keeps isolation of concern to some extent using layered architecture, thus provides place to write new migrations, new data base models and API.
  • Gives brief example of serializing SqlAlchemy object to JSON.
  • Logging of web request and exceptions.

Future Plans

  • Unit test case library integration.
  • Test coverage status pre-commit hook
  • Integration with pylint as a pre-commit hook
  • Release management e.g. version update
  • Docker based setup [Docker and Docker Compose]
  • Flask CORS integration
  • Flask CSRF integration
  • Authentication and authorization setup using any oauth server e.g. keycloak
  • Integration with swagger
  • Standardized Api request and response formats

Clone this wiki locally