With the rise of the single-page application (SPA) web front-ends and mobile apps, the backend of many web applications is a collection of RESTful interfaces that provide JSON data rather than generating HTML. The rendering is up to the client side. While there are some drawbacks to this approach (heavier client, slower initial page loads, etc.), there are also a number of advantages, not the least of which is better separation of concerns since the front-end and back-end code are completely independent of one another.

This Flask quick-start template provides a basis for creating such a “REST-only” server. It can be used to server mobile apps or SPA front-ends built with Angular or some other framework.

About the Template:

  • Written using Python 3.x and based on the Python Flask microframework. This template uses the latest version of Flask which features improved command-line interface support and many other enhancements.
  • The server only provides RESTful interfaces and generates no HTML at all.
  • Supports JSON Web Token (JWT) authentication.
  • Database model support with SQLAlchemy. Automatic marshaling of objects is provided using Marshmallow.
  • Unit-testing with PyTest.
  • Setuptools installation script.

The template is available on Github. Check out the README file to get started.