Skip to content

Amir-hash19/Weblog_manager.FastApi

Repository files navigation

Blog Management API – FastAPI Project

Project Preview

A complete Blog & User Management System built with FastAPI, Async SQLAlchemy, PostgreSQL, and JWT Authentication.
This project provides a clean and scalable backend for managing blog posts, user accounts, authentication, permissions, and more.


🚀 Overview

This API provides all essential features required for a modern blog platform:

  • User registration & authentication
  • Profile management
  • Blog CRUD operations
  • Publish/draft status
  • Permissions & ownership checks
  • Pagination (Offset + Cursor)
  • Robust database structure with async support

📌 Key Features

👤 User Management

  • User registration & login with JWT tokens
  • Update user profile (PUT & PATCH)
  • Profile image support
  • Email verification flag
  • Prevent users from editing/deleting other users
  • Secure password hashing
  • last_login auto-update on login

📝 Blog Management

  • Create, read, update, delete blog posts
  • Only the author can edit/delete their own posts
  • is_published filter for public blogs
  • Pagination:
    • Offset-based
    • Cursor-based (recommended for large datasets)
  • Tag support
  • Views counter
  • Fully async database operations

🖼️ Project Interface Preview

Dashboard Screenshot


🛠️ Tech Stack

Component Technology
Backend Framework FastAPI
ORM SQLAlchemy 2.0 (Async)
Database PostgreSQL
Authentication JWT
Validation Pydantic
Documentation Swagger / ReDoc
Testing Pytest

📁 Project Structure

.
├── app
│   ├── user
│   │   ├── models.py
│   │   ├── routers.py
│   │   ├── schemas.py
│   │   └── __init__.py
│   │
│   ├── blog
│   │   ├── models.py
│   │   ├── routers.py
│   │   ├── schemas.py
│   │   └── __init__.py
│   │
│   ├── database.py
│   ├── main.py
│   └── __init__.py
│
├
│── requirements.txt
└── README.md
│
├── Dockerfile
└── docker-compose.yml

About

a project makes blogs manageable for clients

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors