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.