Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

185 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PavilionEnd - Web Application

A scalable CMS platform with RSS feed integration and AI-powered article generation.

Architecture

  • Frontend: React SPA with Redux and CKEditor
  • Backend: Django REST Framework with Microservices architecture
  • Task Queue: Celery with Redis
  • Database: PostgreSQL
  • Storage: AWS S3 (configurable)

Project Structure

pavilion-gemini/
├── backend/           # Django backend services
│   ├── api_gateway/   # Main API entry point
│   ├── cms/           # Article CMS service
│   ├── rss_fetcher/   # RSS feed fetching service
│   └── workers/       # Celery worker tasks
├── frontend/          # React SPA
└── docker-compose.yml # Infrastructure services

Setup Instructions

Prerequisites

  • Python 3.9+
  • Node.js 16+
  • Docker & Docker Compose
  • PostgreSQL (via Docker)

Backend Setup

  1. Create virtual environment:
cd backend
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Set up environment variables:
cp .env.example .env
# Edit .env with your settings
  1. Start infrastructure services:
docker-compose up -d
  1. Run migrations:
python manage.py migrate
  1. Create superuser:
python manage.py createsuperuser
  1. Start Django development server:
python manage.py runserver
  1. Start Celery worker (in separate terminal):
celery -A pavilion_gemini worker --loglevel=info
  1. Start Celery beat (for scheduled tasks):
celery -A pavilion_gemini beat --loglevel=info

Frontend Setup

  1. Install dependencies:
cd frontend
npm install
  1. Start development server:
npm run dev

Services

Features

  • ✅ Article Management (CRUD)
  • ✅ RSS Feed Integration with Scheduled Fetching
  • ✅ Asynchronous Article Generation (Celery Workers)
  • ✅ Admin/Editor Interface
  • ✅ Article Status Workflow (Fetched → Draft → Published)
  • ✅ SEO/OG Meta Data Management
  • ✅ JWT Authentication
  • ✅ Rich Text Editor (CKEditor 5)
  • ✅ Responsive UI (Tailwind CSS)

Quick Start

See SETUP.md for detailed setup instructions.

TL;DR:

# Start infrastructure
docker-compose up -d

# Setup backend (one-time)
cd backend && bash setup.sh

# Start everything (from project root)
./start-dev.sh

Architecture

Backend Services

  1. API Gateway (Django REST Framework)

    • Authentication (JWT)
    • Article CRUD operations
    • API routing
  2. CMS Service (cms app)

    • Article model and management
    • Status workflow
    • SEO metadata
  3. RSS Fetcher Service (rss_fetcher app)

    • Scheduled RSS feed fetching
    • Automatic article creation
  4. Article Generation Workers (workers app)

    • Celery tasks for async processing
    • Content generation and enhancement

Frontend

  • React 18 with Hooks
  • Redux Toolkit for state management
  • React Router for navigation
  • CKEditor 5 for rich text editing
  • Tailwind CSS for styling

About

Pavilion CMS with automatic RSS feed fetching

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages