Code Monkey home page Code Monkey logo

flask-blogging-platform's Introduction

Blogging Platform

A blogging platform using Flask, Jinja2 and Flask-SQLAlchemy.

Demo

See Demo deployed on Railway

See Demo deployed on Railway

Flask basics

  • handling routes, request hooks and view functions with Flask.
  • working with Jinja2 template engine, Flask-Bootstrap and Flask-Moment.
  • creating web forms with Flask-WTF.
  • displaying user-friendly messages with flash().
  • managing the database with Flask-SQLAlchemy.
  • updating the database model with Flask-Migrate.
  • sending emails with Flask-Mail.
  • using packages and modules to structure a large application that scales.

Blogging Platform

  • implementing user authentication with Flask-Login and Werkzeug.
  • registering new users and generating confirmation tokens with itsdangerous.
  • managing roles and permissions for users, moderators and administrators.
  • handling user profiles and displaying user avatars with Gravatar.
  • building a blogging feature by reusing templates.
  • paginating item lists and creating fake blog post data with Faker.
  • enabling rich-text posts with Markdown and Flask-PageDown.
  • displaying followers on the profile page.
  • showing followed posts on the home page.
  • handling comment moderation.

RESTful API

  • using a Flask-based RESTful API to expose app functionality to smartphones, tablets and other third-party clients.
  • managing user authentication with Flask-HTTPAuth and generating tokens.
  • serializing resources to and from JSON.
  • handling pagination of large resource collections.
  • testing web services with HTTPie.

Testing

  • learning how to run unit tests with Coverage, Flask test client and Selenium.
  • enhancing application performance by logging slow database performance and high CPU consumption.

Deployment

  • deploying on Railway with a PostgreSQL database.

Based on Flask Web Development by Miguel Grinberg (2nd edition, 2018)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.