Live Platform: venting-app.com

Open Source Repository: github.com/Natan-Asrat/ventingapp

Full DevLog Journey: YouTube Playlist


Tech Stack

Frontend

  • Vue.js, Pinia, Axios
  • TailwindCSS, Ant Design, Headless UI
  • Lucide Vue Next, Emoji Mart Vue

Backend

  • Django, Django REST Framework, Gunicorn
  • Google Gen AI, Polar SDK, SimpleJWT
  • AWS S3, Pillow, Sphinx, MyST Parser
  • PostgreSQL, pgvector, redis, pyotp

The Vision & The Problem

VentingApp started from an idea by my friend Natnael Mulugeta to solve a very specific problem with modern social media. Right now, standard apps are flooded with memes, news, achievements, and clutter. If you’re going through a tough time and just need to vent or share a heavy daily experience, it gets lost in the noise.

The objective was to build a clean, dedicated niche application where people can get things off their chest, find comfort from others, and receive direct financial donations for their problems via cash apps or bank details attached to their posts.


The Build Journey

Phase 1: Planning & Setup

Timeline: October 2025

Before writing a single line of logic, I set up a dedicated dev-docs folder using Sphinx, Python’s Read-the-Docs theme, and the MyST Parser to write everything in Markdown. Introduction: introduction.md

  • Statement of the Problem
  • Project Objective
  • Scope of the Project
  • System Development Methodology
  • System Development Tools
  • Significance of the Project

From there, I spent significant time explicitly defining the system requirements. I detailed everything out in requirements.md. Requirements: requirements.md

  • Current System (Background Research)
  • Problem with the Existing System
  • Actors
  • Functional Requirements
  • Non-Functional Requirements
  • Use Case Model
    • Use Case Diagram
    • Use Case Description
  • Conceptual Class Diagram
  • Sequence Diagram
  • State Diagram

I stayed completely inside VS Code and used the Draw.io integration to visually draft my architecture. I designed comprehensive UML models, mapping out structural relationships and system behaviors before touching code. Design: design.md

  • System Architecture
  • Subsystem Decomposition
    • User Subsystem
    • Post Subsystem
    • Comment Subsystem

Videos:


Phase 2: Development

Timeline: October 2025 – February 2026

Built out the API layer using Django REST Framework, and the frontend using Vue.js.

Web Pages:

  • Profile
  • History
  • Chat
  • Feed
  • New Post
  • Notifications
  • Manual Payment
  • Admin Pages
  • Landing Page

Frontend: Vue Code

Django Apps:

  • account
  • analytics
  • conversation
  • notification
  • post
  • report
  • support
  • transaction
  • usage

Backend: Django Code