Developed a multi-feature rich blog platform using Python Flask, deployed on Ploomber.
Here are the core features that make MicroBlog stand out:
- 🔐 User Authentication – Login & Registration system
- ✉️ Secure Password Reset – Using Brevo SMTP + JWT Tokenization
- 📝 Post Creation – Users can create and view posts
- 🏠 Homepage Feed – See posts from followed users
- 🌍 Explore Feed – Discover posts from all users
- 💬 Direct Messaging – Users can send & receive messages
- 🧑🎨 Profile Editing – Customizable user profiles
- 🔁 Password Recovery – Reset via secure email link
- 🚨 Real-Time Notifications – New messages alert every 10s
- 🌐 Multilingual Posts – Post and view in local languages
- 🔁 On-the-Fly Translation – Translate posts with one click
- 🐍 Python Flask – Lightweight backend framework
- 🧠 SQLAlchemy + SQLite – ORM + Database
- 🔑 Flask-Login & WTForms – Auth & form management
- 🛡️ Werkzeug & CSRF Tokens – Password hashing & form security
- 🔐 JWT – Secure token-based reset flow
- 📤 Flask-Mail + Brevo SMTP – Email services
- 🧩 Jinja2 – Templating for HTML rendering
- 🪄 Bootstrap (w/ Macros) – Sleek UI components
- ⏱️ Moment.js + Flask-Moment – Local timezone display
- 💬 AJAX – For dynamic features like translation
- 🌐 Flask-Babel – L10n & i18n support
- 🔄 PythonAnywhere Translation API – Real-time post translation
- 📁 Blueprints – Modular app structure
- 🔍 REST APIs – Extendable endpoints
- 🔁 Pagination – For efficient post navigation
- 🧪 Unittesting – Tested with built-in Flask unit tests
- ⚙️ Shell Context, .env, Logging – For dev best practices
- 🎭 Custom Error Pages – For 404, 502, etc.
- 🔁 Rotating Log Handler – Keeps logs organized
Python Flask, Jinja2, SQLAlchemy, Flask-WTF, Flask-Migrate, Flask-Login,
Flask-Mail, pyjwt, Brevo SMTP, WTForms, Bootstrap, Flask-Moment,
Flask-Babel, AJAX, HTML, CSS, JS, Werkzeug, Logging, Unittest, Gravatar, etc.
- 📡 Hosted on Ploomber Cloud
- 🔐 Secrets & Environment handled via
.envand.flaskenv
If you have any suggestions, issues, or contributions, feel free to open a pull request or issue, or Contact via Gmail.







