Skip to content

CardSorting/curly-engine-blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

28 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GALX

A world-class enterprise SAAS editorial platform for modern content publishing. GALX rivals major publishing platforms with Google Docs-style collaborative editing, AI-powered content analysis, multi-tenant architecture, and enterprise-grade security.

Django Vue.js TypeScript Django REST Framework PostgreSQL

✨ Key Features

πŸš€ Enterprise-Grade Collaborative Editing

  • Real-time collaborative editing with Google Docs-style interface
  • WebSocket-powered synchronization using Django Channels
  • Operational Transform algorithms for conflict resolution
  • Multi-user cursors and presence indicators
  • Session management with participant tracking and permissions
  • Live content merging with real-time conflict resolution

πŸ“ AI-Powered Content Analysis

  • Grammar & readability checking with Flesch scoring algorithms
  • SEO analysis with keyword suggestions and optimization scores
  • Writing quality metrics including syllable counting and sentence analysis
  • Real-time content validation during editing
  • Content scoring and improvement suggestions

🏒 Multi-Tenant SAAS Architecture

  • Complete tenant isolation with account-based data separation
  • Role-based permissions: Admin β†’ Editor β†’ Author β†’ Viewer
  • Enterprise security with JWT authentication and rate limiting
  • Subscription management with Stripe integration
  • Resource quotas and usage tracking per account

🎨 Modern Frontend Experience

  • Vue 3 + TypeScript with Composition API
  • Tailwind CSS for professional design system
  • Responsive design with mobile-first approach
  • Progressive Web App foundation
  • Component architecture following atomic design principles

πŸ“Š Advanced Analytics & Intelligence

  • Real-time content analytics with engagement tracking
  • Business intelligence with subscription and revenue analytics
  • Performance monitoring with page load analytics
  • Audience demographics and content performance insights

πŸ”’ Enterprise Security

  • Multi-tenant security middleware with complete isolation
  • JWT authentication with refresh token rotation
  • CORS and CSRF protection with domain-specific access
  • Rate limiting and IP whitelisting
  • Database encryption and secure headers

πŸ—οΈ Architecture Overview

galx/
β”œβ”€β”€ backend/                          # Django Backend (Python/Django)
β”‚   β”œβ”€β”€ apps/
β”‚   β”‚   β”œβ”€β”€ accounts/                 # Multi-tenant account management
β”‚   β”‚   β”œβ”€β”€ analytics/               # Advanced analytics & business intelligence
β”‚   β”‚   β”œβ”€β”€ articles/                # Content management with collaborative editing
β”‚   β”‚   β”‚   β”œβ”€β”€ consumers.py         # WebSocket collaborative editing
β”‚   β”‚   β”‚   β”œβ”€β”€ models.py            # Collaborative sessions, OT transforms
β”‚   β”‚   β”‚   └── routing.py           # WebSocket URL routing
β”‚   β”‚   β”œβ”€β”€ content_analysis/        # AI-powered writing analysis
β”‚   β”‚   β”‚   β”œβ”€β”€ models.py            # Text analysis, writing suggestions
β”‚   β”‚   β”‚   └── views.py             # Real-time content validation
β”‚   β”‚   β”œβ”€β”€ media/                   # Cloud storage & CDN integration
β”‚   β”‚   β”œβ”€β”€ newsletter/              # Email marketing & campaign management
β”‚   β”‚   β”œβ”€β”€ seo/                     # SEO optimization & meta management
β”‚   β”‚   └── users/                   # Extended user model with SAAS features
β”‚   └── config/                      # Django configuration & settings
β”‚
β”œβ”€β”€ frontend/                         # Vue.js Frontend (TypeScript/Vue)
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”‚   β”œβ”€β”€ editor/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ CollaborativeEditor.vue    # Real-time collaborative editing
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ MarkdownEditor.vue         # Markdown editing
β”‚   β”‚   β”‚   β”‚   └── RichTextEditor.vue         # Rich text editing
β”‚   β”‚   β”œβ”€β”€ services/                 # API clients & services
β”‚   β”‚   β”œβ”€β”€ stores/                   # Pinia state management
β”‚   β”‚   └── views/                    # Page components
β”‚   └── public/                       # Static assets
β”‚
β”œβ”€β”€ requirements/                     # Python dependencies
β”œβ”€β”€ PLATFORM_ANALYSIS.md             # Comprehensive platform analysis
└── README.md                        # This file

πŸš€ Quick Start

Prerequisites

  • Python 3.10+
  • Node.js 18+
  • PostgreSQL (recommended for production)
  • Redis (optional, for enhanced caching)

Backend Setup

  1. Clone and navigate

    git clone https://github.com/CardSorting/curly-engine-blog.git galx
    cd galx/backend
  2. Create virtual environment

    python -m venv venv
    source venv/bin/activate  # macOS/Linux
    # or
    venv\Scripts\activate     # Windows
  3. Install Python dependencies

    pip install -r requirements/development.txt
  4. Environment configuration

    cp .env.example .env
    # Edit .env with your settings:
    # - SECRET_KEY
    # - DATABASE_URL (PostgreSQL recommended)
    # - REDIS_URL (optional)
    # - AWS credentials (for S3)
    # - STRIPE keys (for billing)
  5. Database setup

    python manage.py makemigrations
    python manage.py migrate
  6. Create superuser

    python manage.py createsuperuser
  7. Start Django server

    python manage.py runserver

Frontend Setup

  1. Navigate to frontend directory

    cd ../frontend
  2. Install Node dependencies

    npm install
    # or
    pnpm install
  3. Environment configuration

    cp .env.example .env
    # Configure API endpoints and settings
  4. Start development server

    npm run dev
    # or
    pnpm dev
  5. Start WebSocket server (for collaborative editing)

    # In another terminal, from backend directory:
    python manage.py runserver 0.0.0.0:8000
    daphne -b 0.0.0.0 -p 8001 config.asgi:application

Visit http://localhost:5173 for the frontend and http://localhost:8000 for the API.

πŸ”§ Advanced Configuration

Production Deployment

# Install production requirements
pip install -r requirements/production.txt

# Collect static files
python manage.py collectstatic

# Use Gunicorn for production
gunicorn config.wsgi:application --bind 0.0.0.0:8000

Collaborative Editing Setup

Collaborative editing requires Django Channels and Redis:

# Redis setup (recommended)
redis-server

# Environment variables
CHANNEL_LAYERS = {
    "default": {
        "BACKEND": "channels_redis.core.RedisChannelLayer",
        "CONFIG": {"hosts": [("127.0.0.1", 6379)]},
    },
}

Content Analysis Features

Content analysis runs automatically. To enable advanced features:

# settings.py
CONTENT_ANALYSIS_ENABLED = True
AI_SUGGESTIONS_ENABLED = True

🎯 Core Capabilities

Content Management

  • βœ… Collaborative editing with real-time synchronization
  • βœ… Version control with change history and restore
  • βœ… Content series and categorization
  • βœ… SEO optimization tools
  • βœ… Media management with cloud storage
  • βœ… Editorial workflow with approval processes

Analytics & Intelligence

  • βœ… Real-time analytics with engagement tracking
  • βœ… Content performance metrics
  • βœ… Business intelligence dashboards
  • βœ… Audience analytics and demographics
  • βœ… Revenue tracking with Stripe integration

Enterprise Features

  • βœ… Multi-tenant architecture with complete isolation
  • βœ… Role-based permissions and access control
  • βœ… Subscription management and billing
  • βœ… White-label capabilities (theme system ready)
  • βœ… API-first design for integrations

πŸ› οΈ Development

Running Tests

# Backend tests
cd backend
python manage.py test

# Frontend tests
cd frontend
npm run test
npm run test:e2e  # Playwright E2E tests

Code Quality

# Backend linting
flake8
black --check .

# Frontend linting
cd frontend
npm run lint
npm run type-check

Database Management

# Create and run migrations
python manage.py makemigrations
python manage.py migrate

# Reset database (development only)
python manage.py reset_database

Collaborative Editing Development

# WebSocket debugging
python manage.py shell
from channels.testing import WebsocketCommunicator
# Test collaborative sessions

πŸ“Š Performance & Scaling

  • Database: PostgreSQL with indexing optimization
  • Cache: Redis for session and content caching
  • CDN: AWS S3 with CloudFront for media delivery
  • WebSocket: Redis-backed Channels for real-time features
  • Monitoring: Built-in performance tracking

πŸš€ API Documentation

Complete API documentation is available via DRF Spectacular:

  • Swagger UI: /api/docs/
  • ReDoc: /api/redoc/
  • OpenAPI Schema: /api/schema/

🀝 Contributing

We welcome contributions! Please see our contributing guidelines:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Write comprehensive tests
  4. Follow code style guidelines
  5. Submit a pull request

Development Guidelines

  • Use TypeScript for all frontend code
  • Follow PEP 8 for Python code
  • Write tests for all new features
  • Update documentation for API changes

πŸ“‹ Roadmap

βœ… Completed (Phase 1)

  • Collaborative editing system - Full Google Docs-style collaboration
  • Content analysis tools - AI-powered writing assistance
  • Multi-tenant architecture - Enterprise-grade SAAS platform
  • Advanced analytics - Business intelligence and tracking

🚧 In Progress

  • Theme customization engine
  • Advanced email marketing platform
  • Recommendation algorithms

πŸ“‹ Planned

  • Mobile applications (iOS/Android)
  • Advanced BI & analytics
  • SSO integration
  • API marketplace

πŸ† Competitive Advantages

vs. Substack:

  • βœ… Enterprise security and multi-tenancy
  • βœ… Collaborative editing for professional teams
  • βœ… Advanced content analysis tools
  • βœ… White-label capabilities (coming soon)

vs. WordPress VIP:

  • βœ… Modern Vue.js frontend instead of PHP templates
  • βœ… Real-time collaboration built-in
  • βœ… API-first architecture for mobile apps
  • βœ… Content quality tools rivaling professional editors

vs. Medium:

  • βœ… Full content ownership and export capabilities
  • βœ… Enterprise features for professional publishing
  • βœ… Custom domain support and white-labeling
  • βœ… Advanced analytics and monetization tools

πŸ“„ License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

πŸ™‹ Support & Community

πŸ€– Built With

Backend:

Frontend:


GALX - Enterprise-grade content publishing without compromise. ✨

About

django-backend

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published