Lesson 5

A Social Blogging Application — User Profiles & Blog Posts

Share Tweet


In previous lessons, we have learned about the basic elements which are necessary to build a web application with Flask. From this lesson, the goal is to walk you through the development of a complete application - A Social Blogging Application. We will organize these lessons based on the "Miguel Grinberg. Flask Web Development, Second Edition. O'Reilly Media, Inc., 2018.". However, a four-year-old book does contain some outdated technologies. For instance, the book presents how to implement a web application which employs Bootstrap to render web pages so that they fit well on any devices such as desktop web browsers, mobile. The Flask-Bootstrap which is presented in this book is an outdated version since it only supports Bootstrap 3. Therefore, I will present an alternative extension which is Bootstrap-Flask that support the up-to-date versions of Bootstrap. By using a different extension than the one presented in the book, there will be many modifications to the sample code to make them work with the new extension. Bootstrap-Flask is just an example, there will be more that I will present when giving lectures. There will be some new topics along with chapters from the textbook to get you familiar with embedding APIs from third-party services.

From this lesson, we will focus on developing a social blogging application in particular, we will cover the following topics:

  • Implement a user authentication system.
  • Implement user roles and permissions.
  • Implement user profile pages.
  • Create the blogging interface.
  • Implement followers.
  • Implement user comments for blog posts.
  • Making an application programming interface (API).

Contents of Lesson 5

  1. Part 3: User Profiles
  2. Part 4: Blog Posts