awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
miguelgrinberg avatar

miguelgrinberg/microblog

0
View on GitHub↗
4,771 stars·1,715 forks·Python·MIT·19 viewsblog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world↗

Microblog

This project is a social blogging application built with Flask. It provides a platform for user account management, following relationships, and chronological post streams, supported by a PostgreSQL relational database.

The application features a multilingual web interface with localized content and date formatting. It is designed as a dockerized web application, utilizing containerization for consistent deployment across different environments.

The system integrates a variety of core capabilities, including full-text search with provider abstraction, an asynchronous task worker for background processing, and a comprehensive identity system covering secure registration and session tracking. It also implements private messaging, SMTP email transmission, and an API with token-based authentication.

The codebase employs a modular architecture using the application factory pattern and blueprints to organize routing and logic.

Features

  • Flask Framework Implementations - Implements a structured web application using the Flask framework with blueprints and the application factory pattern.
  • Social Blogging Implementations - Provides a full-stack social blogging platform with user accounts, following relationships, and chronological feeds.
  • Micro-blogging Platforms - Provides a social blogging platform with user accounts, following systems, and chronological short-form post feeds.
  • Many-to-Many Associations - Manages self-referential many-to-many relationships in the database to track followers and following.
  • Object-Relational Mapping - Maps application classes to PostgreSQL relational database tables using an object-relational mapper.
  • Object-Relational Mapping Models - Maps application classes to relational database tables using an object-relational mapper.
  • Relational Data Storage - Links separate database tables using foreign keys to enable complex relational queries.
  • Relational Database Integrations - Integrates application models with a PostgreSQL database using an ORM and schema migration management.
  • Relational Databases - Uses a PostgreSQL relational database to manage user profiles and social connections.
  • User Profile Management - Implements functionality for creating, retrieving, and updating user account attributes and profile information.
  • Credential Validation - Validates user credentials against stored database hashes to authorize access to protected areas.
  • Password Hashing Utilities - Uses cryptographic hashing to securely store user passwords without saving plain-text credentials.
  • Session Authentication - Tracks authenticated state across pages and supports a remember-me feature for session persistence.
  • Token-Based Authentication - Implements token-based authentication to protect API endpoints and manage user sessions.
  • User Account Management - Implements secure registration, login, and session tracking for managing user identities.
  • User Account Registrations - Implements a registration system for creating new user accounts via web forms with email and password validation.
  • Database Schema Migrations - Utilizes automated versioning and scripts to manage database schema evolution across environments.
  • Social Feed Displays - Implements a chronological timeline of posts from the user and their followed accounts.
  • HTML Template Renderers - Generates HTML pages by merging data with templates to separate business logic from presentation.
  • Page Access Restrictions - Restricts access to specific pages by requiring authentication before viewing.
  • Route-to-Callback Mapping - Maps specific URL patterns to executable functions that handle application logic and return responses.
  • User Interface Localizations - Adapts the user interface to different languages and regional settings based on user preferences.
  • Validated Web Forms - Defines structured web forms that integrate model-level validation with the user interface.
  • Server-Side Form Processing - Processes incoming web form data to validate inputs and execute server-side business logic.
  • User Interface Localization - Translates application text into multiple languages based on request headers.
  • Multilingual Web Applications - Provides a localized user interface and dynamic content translation based on the visitor's preferred language.
  • Template Logic - Uses template logic to conditionally render HTML content based on available runtime data.
  • User Profiles - Renders public profile pages that display user information and their associated blog posts.
  • Database Schema Migrations - Tracks database structure changes using versioned migration scripts to maintain compatibility with application code.
  • Full Text Search - Provides full-text search capabilities for querying indexed content with relevance-based ordering.
  • Search Index Synchronizers - Automatically synchronizes full-text search indexes when database records are modified using event listeners.
  • Search Provider Abstractions - Decouples the application from specific search providers using a generic indexing and querying interface.
  • Search Integrations - Integrates with external search engine providers using environment-based connection strings.
  • Asynchronous Task Processing - Offloads long-running operations like email delivery and search indexing to background workers.
  • Application Containerization - Packages the application and its dependencies into portable Docker images for consistent deployment.
  • Containerized Application Deployments - Bundles the web application into portable container images for consistent multi-environment deployment.
  • Containerized Runtimes - Executes container images in the background with customizable port mapping for runtime isolation.
  • Multi-Service Container Orchestration - Connects multiple containers via a virtual network for communication between the web server, worker, and database.
  • Containerized Web Servers - Runs the web application using a high-performance server with worker processes inside a container.
  • Background Task Execution - Executes long-running functions in separate background processes to prevent blocking the main web thread.
  • Private Messaging Systems - Provides a dedicated system for users to compose and send direct messages to one another.
  • User Session Termination - Provides the ability to explicitly remove the authenticated state and log users out.
  • Password Resets - Provides a secure workflow for restoring account access via email-delivered cryptographic tokens.
  • Application Factories - Employs the application factory pattern to support multiple configurations and isolated testing environments.
  • Asynchronous Task Queues - Uses an asynchronous task queue to offload long-running background jobs and maintain web request fluidity.
  • Modular Feature Architectures - Organizes routes and handlers into independent Flask blueprints to encapsulate features.
  • Filtered Paginated Listings - Implements paginated content listings with navigation links via query strings for browsing posts and users.
  • Responsive Themes - Integrates CSS frameworks to ensure layouts automatically adapt to different device screen sizes.
  • Template Iteration - Implements logic to programmatically repeat UI elements based on data collections within templates.
  • Template Inheritance Systems - Uses a system of base layouts and child templates to maintain consistent page structures through nesting and blocks.

Star history

Star history chart for miguelgrinberg/microblogStar history chart for miguelgrinberg/microblog

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Microblog

These projects share indexed features with Microblog. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • gothinkster/node-express-realworld-example-appgothinkster avatar

    gothinkster/node-express-realworld-example-app

    3,793View on GitHub↗

    This project is a Node.js Express REST API reference implementation for a blogging platform. It serves as a structured blueprint for building server-side applications, demonstrating the integration of content management, user profiles, and social following. The implementation features a stateless identity management layer using cryptographically signed tokens to secure private resources and manage user sessions. It also includes social networking primitives for tracking user relationships to facilitate activity feeds and content discovery. The backend covers relational database management th

    TypeScript
    View on GitHub↗3,793
  • miguelgrinberg/flaskymiguelgrinberg avatar

    miguelgrinberg/flasky

    8,747View on GitHub↗

    Flasky is a complete web application example and tutorial designed to demonstrate professional development patterns using the Flask framework. It serves as a practical implementation of a web service to teach server-side development, application structure, and the use of a Python object-relational mapper for database applications. The project provides a containerized environment that packages the web application and its database dependencies into isolated images. This ensures consistent behavior across different hosting platforms and includes configurations for production-grade server deploym

    Pythonflaskpython
    View on GitHub↗8,747
  • xianhu/learnpythonxianhu avatar

    xianhu/LearnPython

    8,484View on GitHub↗

    LearnPython is a programming tutorial consisting of a collection of practical code examples used to demonstrate Python language features and programming patterns. It serves as a comprehensive learning resource that implements core language concepts through functional code. The project provides specialized guides and samples covering several key domains. These include asynchronous network programming with event loops and coroutines, data visualization using numerical datasets for 2D and 3D plots, and web scraping for fetching content and automating login flows. It also features instructions on

    Jupyter Notebooklearning-pythonpythonpython-flask
    View on GitHub↗8,484
  • vendurehq/vendurevendurehq avatar

    vendurehq/vendure

    7,924View on GitHub↗

    Vendure is a Node.js e-commerce engine and headless commerce framework built with NestJS and TypeScript. It serves as a multi-channel commerce platform that manages product catalogs, orders, and customers via a strongly typed GraphQL API. The platform is distinguished by its highly extensible architecture, featuring a customizable administrative dashboard where developers can inject custom React components and entity views. It supports multi-channel commerce, allowing the isolation of products, currencies, and regional catalogs from a single unified backend. The engine covers a broad range o

    TypeScriptecommerceecommerce-apiecommerce-framework
    View on GitHub↗7,924
Compare all 30 related projects→

Frequently asked questions

What does miguelgrinberg/microblog do?

This project is a social blogging application built with Flask. It provides a platform for user account management, following relationships, and chronological post streams, supported by a PostgreSQL relational database.

What are the main features of miguelgrinberg/microblog?

The main features of miguelgrinberg/microblog are: Flask Framework Implementations, Social Blogging Implementations, Micro-blogging Platforms, Many-to-Many Associations, Object-Relational Mapping, Object-Relational Mapping Models, Relational Data Storage, Relational Database Integrations.

Which projects share features with miguelgrinberg/microblog?

Projects with overlapping indexed features include: gothinkster/node-express-realworld-example-app — This project is a Node.js Express REST API reference implementation for a blogging platform. It serves as a structured… miguelgrinberg/flasky — Flasky is a complete web application example and tutorial designed to demonstrate professional development patterns… xianhu/learnpython — LearnPython is a programming tutorial consisting of a collection of practical code examples used to demonstrate Python… vendurehq/vendure — Vendure is a Node.js e-commerce engine and headless commerce framework built with NestJS and TypeScript. It serves as… dodyg/practical-aspnetcore — This project is a comprehensive sample library and implementation guide for ASP.NET Core. It provides a collection of… element-hq/synapse — Synapse is a Matrix homeserver implementation that provides the infrastructure for decentralized, real-time…