Series: Building a Social Network with Flask & Stream â Part 3
Blog post from Stream
In the third part of a tutorial series on building a full-stack application with Flask and Stream, the focus is on creating user models and setting up permissions. The tutorial walks through the installation of several Flask extensions, including Flask-WTF for form handling, Flask-Login for user authentication, Flask-Mail for email functionalities, and Flask-Migrate for database versioning. It details the setup of a `User` class with functions for password management and email confirmation, as well as a `Role` class to manage permissions for different user levels, such as users, moderators, and administrators. The tutorial also explains how to configure a decorator function for permission checks on routes and introduces the use of Flask-Migrate to manage database changes. The tutorial concludes by setting up a basic landing page using Flask's Jinja2 templating engine and providing a brief overview of the next steps, which include generating and validating confirmation tokens for user registration.