About the Project

This project is a fully functional web application built to showcase my skills as a full-stack developer, with a focus on clean backend architecture and a responsive, handcrafted frontend.

The backend is powered by FastAPI, structured with modular routing, async SQLAlchemy, PostgreSQL, and custom session middleware. It supports user authentication, role-based access control, and full CRUD functionality. Passwords are securely stored using hashed representations only, following best practices in user data protection.

To ensure safety and moderation, the application integrates the Sightengine API for real-time NSFW content detection on uploaded avatars, preventing inappropriate imagery from being stored or displayed.

On the frontend, I avoided heavy frameworks and instead wrote custom JavaScript for dynamic UI elements like modals, form handling, and editor logic. A customized TipTap integration powers the rich text editor, with a bespoke toolbar, placeholder support, and live empty-state tracking — all implemented without any frontend framework.

Styling is handled via modular SCSS, designed for clarity, responsiveness, and easy maintainability.

This project demonstrates my ability to build production-ready apps from scratch, combining structure, performance, and UX — without relying on boilerplates or overengineered stacks.

  • FastAPI

    A modern, high-performance web framework for building APIs with asynchronous support

  • Async SQLAlchemy

    Asynchronous ORM for efficient and clean interaction with the PostgreSQL database

  • PostgreSQL

    Reliable and scalable relational database for structured data storage

  • Pydantic

    Data validation and serialization for request and response models

  • Jinja2 Templates

    Server-side rendering of HTML pages

  • Passlib (bcrypt)

    Secure password hashing and verification

  • Session Middleware

    User session management to handle authentication and authorization

  • Sightengine API

    Automatic content moderation for user-uploaded avatars, filtering inappropriate images

Secure and Scalable Backend

  • Built with FastAPI and asynchronous SQLAlchemy.
  • Modular codebase with separated routers, models, schemas, and CRUD logic.
  • Session-based authentication via SessionMiddleware.
  • Passwords are securely hashed using bcrypt.
  • Custom exception handling and lifespan lifecycle hooks.

Rich Text Editing and Dynamic Forms

  • Powerful TipTap editor with custom toolbar and placeholder logic.
  • Real-time detection of empty content with dynamic styling.
  • Modal dialogs and dynamic forms written in clean vanilla JavaScript.

Maintainable and Scalable Styling

  • Organized SCSS structure with variables, mixins, and grid layout.
  • Reusable components and semantic class naming.
  • Easy to theme and extend as the project grows.

Safe Media Uploads

  • Avatar uploads are scanned for NSFW content via Sightengine API.
  • Fallback to default avatars when needed.
  • File validation and custom error handling on failure.
Home Page
Home Page
Register Page
Register Page
Profile Page
Profile Page
Edit Profile Page
Edit Profile Page
Add Post Page
Add Post Page
Post Detail Page
Post Detail Page
Edit Post Page
Edit Post Page
Admin Panel Page
Admin Panel Page
Sign In Modal
Sign In Modal
Avatar Modal
Avatar Modal
Change Password Modal
Change Password Modal
Delete Profile Modal
Delete Profile Modal
Delete Post Modal
Delete Post Modal
Edit Comment Modal
Edit Comment Modal
Delete Comment Modal
Delete Comment Modal