Home
Softono
yappuccino

yappuccino

Open source HTML
46
Stars
7
Forks
9
Issues
1
Watchers
5 months
Last Commit

About yappuccino

Yappuccino is a social blogging platform where you can share posts, comment, vote, and repost. Platform integrates n8n AI agent to automatically summarize posts.

Platforms

Web Self-hosted

Languages

HTML

β˜• Yappuccino

A platform for Certified Yappers

Django Python Bootstrap PostgreSQL AWS S3 n8n DeepSeek Groq

πŸ”₯ Live Demo

DigitalOcean Referral Badge

🌟 Overview

Yappuccino is a social blogging platform where you can share posts, comment, vote, and repost. Platform integrates n8n AI agent to automatically summarize posts.

[!NOTE]

Detailed Project Overview & Analysis

Explore the complete project overview, including UML Diagrams and in-depth explanations, provided by Cognition here.

πŸš€ Key Features

πŸ€– AI Integration & Automation

  • n8n AI workflow - for automated summaries
  • Multiple LLM API Providers - Groq & DeepSeek
  • Real-time webhooks trigger instant processing
  • Added Admin Panel - AI Summary Dashboard - for viewing and monitoring processes with live stats provided

πŸ“ Content Management

  • Rich Text Editor: CKEditor 5 integration with image upload
  • Tag System: Create and manage tags with auto-slugs and aliases
  • Post Management: Full CRUD operations with draft support
  • Content Filtering: Advanced filtering and sorting options

πŸ‘₯ Social Features

  • Voting System: Upvote/downvote posts and comments
  • Comment System: Nested comments with threading
  • Repost Functionality: Share content with attribution
  • User Profiles: Customizable profiles with activity tracking

🎨 User Experience

  • Responsive Design: Mobile-first approach with touch-friendly interface
  • Real-time Interactions: AJAX-powered voting and commenting
  • Search Functionality: Full-text search across posts and content
  • Tag-based Navigation: Browse content by categories

πŸ” User Management

  • Authentication System: Registration, login, password reset
  • Profile Management: Image uploads, privacy settings
  • Activity Tracking: View user's posts, comments, and interactions
  • Settings Panel: Comprehensive user preferences

πŸ› οΈ Technical Stack

Backend

  • Framework: Django 5.2.1
  • Database: SQLite (development) / PostgreSQL (production ready)
  • Authentication: Django's built-in auth system
  • File Storage: Django's file handling with Pillow for images

Frontend

  • CSS Framework: Bootstrap 4.0
  • JavaScript: jQuery with custom AJAX implementations
  • Icons: Bootstrap Icons
  • Fonts: Google Fonts (Roboto Condensed, Underdog)

πŸš€ Installation & Setup

Prerequisites

  • Python 3.8+
  • pip (Python package installer)
  • Virtual environment (recommended)

Quick Start

  1. Clone the repository

    git clone https://github.com/jafarbekyusupov/yappuccino.git
    cd yappuccino
  2. Create virtual environment

    python -m venv venv
    source venv/bin/activate

    [!NOTE] On Windows:

    python -m venv venv
    venv\Scripts\activate
  3. Install dependencies

    pip install -r requirements.txt
  4. Set up the database

    python manage.py makemigrations
    python manage.py migrate
  5. Create a superuser

    python manage.py createsuperuser
  6. Run the development server

    python manage.py runserver
  7. Access the application

πŸ”§ Troubleshooting

HTTPS Error on Development Server

Problem: Getting SSL/HTTPS errors when running python manage.py runserver

Symptoms:

code 400, message Bad request syntax ('\x16\x03\x01\x06Γ€\x01\x00\x06ΒΌ\x03\x03%')
You're accessing the development server over HTTPS, but it only supports HTTP.

Solutions:

  1. Switch to HTTP manually:

    http://127.0.0.1:8000  βœ…
    https://127.0.0.1:8000 ❌
  2. Clear browser cache/HSTS for localhost:

  • Chrome: Go to chrome://net-internals/#hsts β†’ Delete localhost
  • Or use incognito/private mode
  1. HTTPS in development:
  • Packages already included in requirements.txt, install if you didnt
    pip install -r requirements.txt
  • If you DID install requirement.txt, then just run the following command:
    python manage.py runserver_plus --cert-file cert.pem

🎨 Customization

Styling

  • Main styles in blog/static/blog/main.css
  • Component styles in blog/static/blog/components.css
  • Color scheme defined in CSS variables

Configuration

  • Django settings in blogpost/settings.py
  • CKEditor configuration for rich text editing
  • Bleach settings for content sanitization

πŸ”§ API Endpoints

AJAX Endpoints

  • POST /post/<id>/vote/<type>/ - Vote on posts
  • POST /post/<id>/comment/ - Add comments
  • POST /comment/<id>/vote/ - Vote on comments
  • GET /tag-suggestions/ - Tag autocomplete

πŸ“± Mobile Support

The application includes comprehensive mobile support:

  • Responsive design for all screen sizes
  • Touch-friendly interface elements
  • Mobile-optimized navigation
  • Swipe gestures for interactions

πŸš€ Deployment

Production Checklist

  • [ ] Set DEBUG = False
  • [ ] Configure allowed hosts
  • [ ] Set up production database (PostgreSQL recommended)
  • [ ] Configure static file serving
  • [ ] Set up media file handling
  • [ ] Set environment variables