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.
- 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
- 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
- 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
- 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
- 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
- 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
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
- Python 3.10+
- Node.js 18+
- PostgreSQL (recommended for production)
- Redis (optional, for enhanced caching)
-
Clone and navigate
git clone https://github.com/CardSorting/curly-engine-blog.git galx cd galx/backend -
Create virtual environment
python -m venv venv source venv/bin/activate # macOS/Linux # or venv\Scripts\activate # Windows
-
Install Python dependencies
pip install -r requirements/development.txt
-
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)
-
Database setup
python manage.py makemigrations python manage.py migrate
-
Create superuser
python manage.py createsuperuser
-
Start Django server
python manage.py runserver
-
Navigate to frontend directory
cd ../frontend -
Install Node dependencies
npm install # or pnpm install -
Environment configuration
cp .env.example .env # Configure API endpoints and settings -
Start development server
npm run dev # or pnpm dev -
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.
# 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:8000Collaborative 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 runs automatically. To enable advanced features:
# settings.py
CONTENT_ANALYSIS_ENABLED = True
AI_SUGGESTIONS_ENABLED = True- β 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
- β Real-time analytics with engagement tracking
- β Content performance metrics
- β Business intelligence dashboards
- β Audience analytics and demographics
- β Revenue tracking with Stripe integration
- β 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
# Backend tests
cd backend
python manage.py test
# Frontend tests
cd frontend
npm run test
npm run test:e2e # Playwright E2E tests# Backend linting
flake8
black --check .
# Frontend linting
cd frontend
npm run lint
npm run type-check# Create and run migrations
python manage.py makemigrations
python manage.py migrate
# Reset database (development only)
python manage.py reset_database# WebSocket debugging
python manage.py shell
from channels.testing import WebsocketCommunicator
# Test collaborative sessions- 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
Complete API documentation is available via DRF Spectacular:
- Swagger UI:
/api/docs/ - ReDoc:
/api/redoc/ - OpenAPI Schema:
/api/schema/
We welcome contributions! Please see our contributing guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Write comprehensive tests
- Follow code style guidelines
- Submit a pull request
- Use TypeScript for all frontend code
- Follow PEP 8 for Python code
- Write tests for all new features
- Update documentation for API changes
- 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
- Theme customization engine
- Advanced email marketing platform
- Recommendation algorithms
- Mobile applications (iOS/Android)
- Advanced BI & analytics
- SSO integration
- API marketplace
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
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- Documentation:
PLATFORM_ANALYSIS.md - Issues: GitHub Issues
- Discussions: GitHub Discussions
Backend:
- Django - Web framework
- Django REST Framework - API framework
- Django Channels - WebSocket support
- PostgreSQL - Primary database
- Redis - Caching & real-time features
Frontend:
- Vue.js - Progressive framework
- TypeScript - Type safety
- Tailwind CSS - Styling
- Pinia - State management
- Vite - Build tool
GALX - Enterprise-grade content publishing without compromise. β¨