docs update
This commit is contained in:
57
CHANGELOG.md
57
CHANGELOG.md
@@ -1,6 +1,6 @@
|
|||||||
# IGNY8 Change Log
|
# IGNY8 Change Log
|
||||||
|
|
||||||
**Current Version:** 1.0.5
|
**Current Version:** 1.1.0
|
||||||
**Last Updated:** December 25, 2025
|
**Last Updated:** December 25, 2025
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
| Version | Date | Summary |
|
| Version | Date | Summary |
|
||||||
|---------|------|---------|
|
|---------|------|---------|
|
||||||
|
| 1.1.0 | Dec 25, 2025 | UX overhaul, page consolidation, pre-launch audit |
|
||||||
| 1.0.5 | Dec 12, 2025 | Purchase Credits tab, UI reorganization |
|
| 1.0.5 | Dec 12, 2025 | Purchase Credits tab, UI reorganization |
|
||||||
| 1.0.4 | Dec 12, 2025 | Credit Activity tab, Cost Reference panel |
|
| 1.0.4 | Dec 12, 2025 | Credit Activity tab, Cost Reference panel |
|
||||||
| 1.0.3 | Dec 12, 2025 | Usage Limits color variety, Cost Breakdown |
|
| 1.0.3 | Dec 12, 2025 | Usage Limits color variety, Cost Breakdown |
|
||||||
@@ -18,6 +19,60 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## v1.1.0 - December 25, 2025
|
||||||
|
|
||||||
|
### Major Changes
|
||||||
|
|
||||||
|
**Page Consolidation:**
|
||||||
|
- **AccountSettingsPage**: Consolidated into 3 tabs (Account, Profile, Team)
|
||||||
|
- Merged separate Team and Profile pages into single Account Settings page
|
||||||
|
- Removed redundant TeamManagement.tsx and ProfileSettings.tsx pages
|
||||||
|
- **ContentSettingsPage**: Rebuilt with 3 tabs (Content Generation, Publishing, Image Settings)
|
||||||
|
- Content Generation: Append to prompt, default tone, default length
|
||||||
|
- Publishing: WordPress auto-publish and sync toggles (removed Shopify/IGNY8)
|
||||||
|
- Image Settings: Quality, style, sizes, format settings
|
||||||
|
- **PlansAndBillingPage**: Simplified to 3 tabs (Plan, Upgrade, History)
|
||||||
|
- Removed duplicate Usage tab (Usage is separate page)
|
||||||
|
|
||||||
|
**Sidebar Navigation Cleanup:**
|
||||||
|
- Removed empty SETTINGS section label
|
||||||
|
- Moved AI Models to ACCOUNT section
|
||||||
|
- Removed version badge below logo
|
||||||
|
- Removed slogan widget from sidebar bottom
|
||||||
|
- Reduced vertical spacing between menu items
|
||||||
|
- Darkened group label colors for better visibility
|
||||||
|
- Removed Publishing menu item (moved to Content Settings tab)
|
||||||
|
- Removed Team, Profile, Import/Export menu items (consolidated)
|
||||||
|
|
||||||
|
**Route Updates:**
|
||||||
|
- Added redirects for legacy paths (/team, /profile, /import-export)
|
||||||
|
- Updated navigation to new consolidated pages
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- **Pre-Launch Audit Document**: Comprehensive module-by-module audit
|
||||||
|
- 37 issues identified (10 critical, 14 high, 13 medium)
|
||||||
|
- Implementation phases defined
|
||||||
|
- Quick wins listed
|
||||||
|
- Orphaned files identified
|
||||||
|
|
||||||
|
### UX Improvements (Earlier in Dec 25)
|
||||||
|
- User-friendly text across all pages
|
||||||
|
- Improved Dashboard text per plan type
|
||||||
|
- Better descriptions in Planner, Writer, Automation modules
|
||||||
|
- Updated Sites and Add Keywords pages
|
||||||
|
- Improved Help documentation
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- PlansAndBillingPage nested comment syntax error
|
||||||
|
- Button component consistency in Publishing settings
|
||||||
|
|
||||||
|
### Known Issues (from Audit)
|
||||||
|
- Content Generation/Publishing settings not connected to backend API
|
||||||
|
- Profile settings save is placeholder (no API)
|
||||||
|
- Password change button non-functional
|
||||||
|
- API Activity data is hardcoded
|
||||||
|
- Support buttons in Help have no handlers
|
||||||
|
|
||||||
## v1.0.5 - December 12, 2025
|
## v1.0.5 - December 12, 2025
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
433
IGNY8-APP.md
433
IGNY8-APP.md
@@ -1,6 +1,6 @@
|
|||||||
# IGNY8 - AI-Powered SEO Content Platform
|
# IGNY8 - AI-Powered SEO Content Platform
|
||||||
|
|
||||||
**Version:** 1.0.5
|
**Version:** 1.1.0
|
||||||
**Last Updated:** December 25, 2025
|
**Last Updated:** December 25, 2025
|
||||||
**Status:** Production Ready
|
**Status:** Production Ready
|
||||||
|
|
||||||
@@ -8,216 +8,363 @@
|
|||||||
|
|
||||||
## What is IGNY8?
|
## What is IGNY8?
|
||||||
|
|
||||||
IGNY8 is an enterprise-grade AI-powered content platform that helps businesses create, manage, and publish SEO-optimized content at scale. It combines artificial intelligence with workflow automation to transform keyword research into published articles with minimal manual effort.
|
IGNY8 is an enterprise-grade AI content platform that transforms keyword research into published, SEO-optimized articles at scale. The platform automates the entire content lifecycle—from discovering keywords to publishing polished articles with AI-generated images—reducing what typically takes days of manual work into hours.
|
||||||
|
|
||||||
|
**The Problem:** Creating SEO content at scale requires keyword research, content planning, writing, image creation, optimization, and publishing—a process that's labor-intensive and inconsistent.
|
||||||
|
|
||||||
|
**The Solution:** IGNY8 provides an end-to-end automated pipeline where AI handles clustering, ideation, writing, and image generation while you maintain editorial control.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Platform Overview
|
## Platform Architecture
|
||||||
|
|
||||||
| Aspect | Details |
|
| Aspect | Details |
|
||||||
|--------|---------|
|
|--------|---------|
|
||||||
| Type | Full-stack SaaS Platform |
|
| **Type** | Full-stack SaaS Platform |
|
||||||
| Architecture | Multi-tenant cloud application |
|
| **Architecture** | Multi-tenant with complete data isolation |
|
||||||
| Target Users | Content marketers, SEO agencies, digital publishers |
|
| **Target Users** | Content marketers, SEO agencies, digital publishers |
|
||||||
| Deployment | Docker-based, cloud-hosted |
|
| **Deployment** | Docker-based, cloud-hosted |
|
||||||
| Pricing | Credit-based usage with subscription plans |
|
| **Pricing Model** | Credits + Monthly subscription plans |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Core Capabilities
|
## Core Workflow
|
||||||
|
|
||||||
### 1. AI Content Generation
|
IGNY8 follows a structured 8-stage content pipeline:
|
||||||
|
|
||||||
Transform keywords into fully-formed, SEO-optimized articles:
|
```
|
||||||
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
||||||
|
│ SETUP WORKFLOW │
|
||||||
|
│ ───── ──────── │
|
||||||
|
│ Sites → Keywords → Clusters → Ideas → Tasks → Content → Images → Published │
|
||||||
|
│ ↑ ↑ ↑ │
|
||||||
|
│ Configure AI Groups AI Writes │
|
||||||
|
│ WordPress Related Full Articles │
|
||||||
|
│ Keywords + SEO Meta │
|
||||||
|
└─────────────────────────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
- **GPT-4 Powered Writing**: High-quality, contextually-aware content
|
### Manual Mode
|
||||||
- **Smart Structuring**: Proper headings, paragraphs, lists automatically
|
Walk through each stage with full control—review and edit at every step.
|
||||||
- **SEO Optimization**: Meta titles, descriptions, keyword density
|
|
||||||
- **Customizable Length**: 500 to 5,000+ words per article
|
|
||||||
- **Multiple Content Types**: Blog posts, guides, comparisons, reviews
|
|
||||||
|
|
||||||
### 2. Intelligent Keyword Management
|
### Automation Mode
|
||||||
|
Configure once, let IGNY8 process all 7 stages automatically on a schedule (daily, weekly, or monthly). Content lands in your review queue ready for approval.
|
||||||
|
|
||||||
Comprehensive keyword research and organization:
|
---
|
||||||
|
|
||||||
- **Bulk Import**: Upload thousands of keywords via CSV
|
## Feature Deep-Dive
|
||||||
- **AI Clustering**: Automatically group related keywords
|
|
||||||
- **Global Database**: 50+ industries with seed keywords
|
|
||||||
- **Intent Classification**: Informational, commercial, transactional
|
|
||||||
- **Metrics Tracking**: Volume, difficulty, CPC
|
|
||||||
|
|
||||||
### 3. Content Idea Generation
|
### 1. Keyword Management (Planner)
|
||||||
|
|
||||||
Transform clusters into actionable content briefs:
|
**Import Options:**
|
||||||
|
- Upload CSV with thousands of keywords
|
||||||
|
- Browse 50+ industries of pre-curated seed keywords
|
||||||
|
- Filter by country, difficulty, search volume
|
||||||
|
|
||||||
- **AI-Powered**: Generate ideas from keyword clusters
|
**AI Clustering:**
|
||||||
- **Structured Briefs**: Title, keywords, angle, outline
|
- GPT-4 analyzes keyword intent and relationships
|
||||||
- **Word Count Estimates**: Based on competition analysis
|
- Groups related keywords into topical clusters
|
||||||
- **Priority Scoring**: Rank by SEO potential
|
- Enables one comprehensive article per cluster (instead of keyword stuffing)
|
||||||
|
|
||||||
### 4. Image Generation
|
**Metrics Tracked:**
|
||||||
|
- Search volume (monthly)
|
||||||
|
- Keyword difficulty (0-100)
|
||||||
|
- CPC (cost-per-click)
|
||||||
|
- Intent classification (informational, commercial, transactional)
|
||||||
|
|
||||||
Dual AI providers for visual content:
|
---
|
||||||
|
|
||||||
- **DALL-E 3**: High-quality image generation
|
### 2. Content Ideation (Planner)
|
||||||
- **Runware**: Alternative provider for variety
|
|
||||||
- **Smart Prompts**: Extracted from content context
|
**AI-Generated Ideas:**
|
||||||
- **Multiple Types**: Featured, in-article, mobile/desktop
|
- Each cluster becomes a content brief
|
||||||
|
- Suggested titles, angles, and outlines
|
||||||
|
- Word count recommendations based on competition
|
||||||
|
- Priority scoring by SEO potential
|
||||||
|
|
||||||
|
**Bulk Operations:**
|
||||||
|
- Generate ideas for multiple clusters at once
|
||||||
|
- Queue ideas directly to Writer module
|
||||||
|
- Batch status updates
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 3. Content Generation (Writer)
|
||||||
|
|
||||||
|
**AI Writing Engine:**
|
||||||
|
- Powered by GPT-4/GPT-4 Turbo
|
||||||
|
- Produces structured articles (H2s, H3s, lists, paragraphs)
|
||||||
|
- SEO-optimized meta titles and descriptions
|
||||||
|
- Configurable length: 500 to 5,000+ words
|
||||||
|
|
||||||
|
**Content Types:**
|
||||||
|
- Blog posts and articles
|
||||||
|
- How-to guides
|
||||||
|
- Product comparisons
|
||||||
|
- Reviews and roundups
|
||||||
|
|
||||||
|
**Customization:**
|
||||||
|
- Custom prompt additions (append to all AI prompts)
|
||||||
|
- Default tone selection (professional, casual, authoritative, etc.)
|
||||||
|
- Default article length preferences
|
||||||
|
|
||||||
|
**Workflow States:**
|
||||||
|
- Queue → Draft → Review → Published
|
||||||
|
- Each stage has dedicated management views
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 4. Image Generation (Writer)
|
||||||
|
|
||||||
|
**Dual AI Providers:**
|
||||||
|
| Provider | Quality Tier | Best For |
|
||||||
|
|----------|--------------|----------|
|
||||||
|
| DALL-E 2 | Standard | Fast, economical |
|
||||||
|
| DALL-E 3 | Premium | High quality, detailed |
|
||||||
|
| Runware | Best | Alternative variety |
|
||||||
|
|
||||||
|
**Image Types:**
|
||||||
|
- Featured images (hero/thumbnail)
|
||||||
|
- In-article images (embedded in content)
|
||||||
|
- Desktop and mobile sizes (responsive)
|
||||||
|
|
||||||
|
**Smart Features:**
|
||||||
|
- AI extracts image prompts from article content
|
||||||
|
- Negative prompts for style control
|
||||||
|
- Multiple format support (WebP, JPG, PNG)
|
||||||
|
- Configurable max images per article
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
### 5. Automation Pipeline
|
### 5. Automation Pipeline
|
||||||
|
|
||||||
Complete 7-stage automated workflow:
|
**7-Stage Automated Workflow:**
|
||||||
|
|
||||||
```
|
```
|
||||||
Keywords → Clusters → Ideas → Tasks → Content → Image Prompts → Images
|
Stage 1: Process new keywords
|
||||||
|
Stage 2: AI cluster keywords
|
||||||
|
Stage 3: Generate content ideas
|
||||||
|
Stage 4: Create writer tasks
|
||||||
|
Stage 5: Generate article content
|
||||||
|
Stage 6: Extract image prompts
|
||||||
|
Stage 7: Generate images → Review queue
|
||||||
```
|
```
|
||||||
|
|
||||||
- **Scheduled Runs**: Daily, weekly, or monthly
|
**Configuration:**
|
||||||
- **Configurable**: Batch sizes, delays, stages
|
- Schedule: Daily, weekly, or monthly runs
|
||||||
- **Credit Estimation**: Know costs before running
|
- Run controls: Start, pause, resume
|
||||||
- **Pause/Resume**: Control running automation
|
- Credit estimation before running
|
||||||
|
- Real-time progress tracking
|
||||||
|
- Activity log and run history
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
### 6. WordPress Integration
|
### 6. WordPress Integration
|
||||||
|
|
||||||
Seamless publishing to WordPress:
|
**Publishing:**
|
||||||
|
- One-click publish from Review tab
|
||||||
|
- Direct WordPress REST API integration
|
||||||
|
- Supports multiple WordPress sites per account
|
||||||
|
|
||||||
- **One-Click Publish**: Push content directly
|
**Synchronization:**
|
||||||
- **Two-Way Sync**: Import and export content
|
- Two-way content sync (import/export)
|
||||||
- **Taxonomy Sync**: Categories and tags
|
- Category and tag mapping
|
||||||
- **Image Upload**: Featured and in-article
|
- Featured image upload
|
||||||
- **Multiple Sites**: Manage many WordPress sites
|
- Post type configuration (posts, pages, custom)
|
||||||
|
|
||||||
|
**Setup:**
|
||||||
|
- Site URL and REST API authentication
|
||||||
|
- Content type mapping in Site Settings
|
||||||
|
- Auto-publish toggle (skip review step)
|
||||||
|
- Auto-sync toggle (keep WordPress updated)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 7. Team & Account Management
|
||||||
|
|
||||||
|
**User Roles:**
|
||||||
|
| Role | Permissions |
|
||||||
|
|------|-------------|
|
||||||
|
| Admin | Full access, billing, team management |
|
||||||
|
| Manager | Content + billing view, no team management |
|
||||||
|
| Editor | AI content, clusters, tasks |
|
||||||
|
| Viewer | Read-only dashboards |
|
||||||
|
|
||||||
|
**Team Features:**
|
||||||
|
- Invite team members by email
|
||||||
|
- Remove members
|
||||||
|
- Role display (editing roles coming soon)
|
||||||
|
|
||||||
|
**Account Settings:**
|
||||||
|
- Organization name and billing address
|
||||||
|
- Tax ID / VAT number
|
||||||
|
- Billing email
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 8. Usage & Billing
|
||||||
|
|
||||||
|
**Credit System:**
|
||||||
|
| Operation | Typical Credits |
|
||||||
|
|-----------|-----------------|
|
||||||
|
| Keyword clustering (batch) | 10 |
|
||||||
|
| Content idea generation | 2 |
|
||||||
|
| Article (per 100 words) | 5 |
|
||||||
|
| Image (standard) | 3 |
|
||||||
|
| Image (premium/best) | 5 |
|
||||||
|
|
||||||
|
**Usage Tracking:**
|
||||||
|
- Real-time credit balance
|
||||||
|
- Monthly usage vs. limits
|
||||||
|
- Transaction history
|
||||||
|
- Hard limits (sites, users, keywords, clusters)
|
||||||
|
- Monthly limits (ideas, words, images)
|
||||||
|
|
||||||
|
**Subscription Plans:**
|
||||||
|
| Plan | Sites | Users | Credits/Month | Best For |
|
||||||
|
|------|-------|-------|---------------|----------|
|
||||||
|
| Free | 1 | 1 | 100 | Trial/Evaluation |
|
||||||
|
| Starter | 3 | 3 | 1,000 | Individual creators |
|
||||||
|
| Growth | 10 | 10 | 5,000 | Small teams |
|
||||||
|
| Scale | Unlimited | Unlimited | 25,000 | Agencies |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Module Status
|
## Module Status
|
||||||
|
|
||||||
| Module | Status | Description |
|
| Module | Status | Location |
|
||||||
|--------|--------|-------------|
|
|--------|--------|----------|
|
||||||
| **Planner** | ✅ Active | Keyword management, clustering, ideas |
|
| **Dashboard** | ✅ Active | `/` |
|
||||||
| **Writer** | ✅ Active | Task management, content generation, images |
|
| **Add Keywords** | ✅ Active | `/setup/add-keywords` |
|
||||||
| **Automation** | ✅ Active | 7-stage automated pipeline |
|
| **Content Settings** | ✅ Active | `/account/content-settings` |
|
||||||
| **Billing** | ✅ Active | Credits, plans, payments |
|
| **Sites** | ✅ Active | `/sites` |
|
||||||
| **Integrations** | ✅ Active | WordPress sync |
|
| **Thinker** | ✅ Active (Admin) | `/thinker/prompts` |
|
||||||
| **Settings** | ✅ Active | AI config, prompts, modules |
|
| **Planner** | ✅ Active | `/planner/keywords` |
|
||||||
| **Publisher** | ✅ Active | Publishing pipeline |
|
| **Writer** | ✅ Active | `/writer/tasks` |
|
||||||
| **Linker** | ⏸️ Inactive | Internal linking (available but disabled) |
|
| **Automation** | ✅ Active | `/automation` |
|
||||||
| **Optimizer** | ⏸️ Inactive | Content optimization (available but disabled) |
|
| **Account Settings** | ✅ Active | `/account/settings` |
|
||||||
|
| **Plans & Billing** | ✅ Active | `/account/plans` |
|
||||||
|
| **Usage** | ✅ Active | `/account/usage` |
|
||||||
|
| **AI Models** | ✅ Active (Admin) | `/settings/integration` |
|
||||||
|
| **Help** | ✅ Active | `/help` |
|
||||||
|
| **Linker** | ⏸️ Disabled | Internal linking (available, disabled by default) |
|
||||||
|
| **Optimizer** | ⏸️ Disabled | Content optimization (available, disabled by default) |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Plans & Pricing
|
## Navigation Structure
|
||||||
|
|
||||||
### Subscription Plans
|
```
|
||||||
|
Sidebar Menu
|
||||||
| Plan | Sites | Users | Credits/Month | Best For |
|
├── Dashboard
|
||||||
|------|-------|-------|---------------|----------|
|
├── SETUP
|
||||||
| Free | 1 | 1 | 100 | Trial |
|
│ ├── Add Keywords
|
||||||
| Starter | 3 | 3 | 1,000 | Individuals |
|
│ ├── Content Settings
|
||||||
| Growth | 10 | 10 | 5,000 | Small teams |
|
│ ├── Sites (if enabled)
|
||||||
| Scale | Unlimited | Unlimited | 25,000 | Agencies |
|
│ └── Thinker (admin only, if enabled)
|
||||||
|
├── WORKFLOW
|
||||||
### Credit Costs (Typical)
|
│ ├── Planner (Keywords → Clusters → Ideas)
|
||||||
|
│ ├── Writer (Queue → Drafts → Images → Review → Published)
|
||||||
| Operation | Credits |
|
│ ├── Automation
|
||||||
|-----------|---------|
|
│ ├── Linker (if enabled)
|
||||||
| Keyword Clustering (batch) | 10 |
|
│ └── Optimizer (if enabled)
|
||||||
| Content Idea | 2 |
|
├── ACCOUNT
|
||||||
| Content (per 100 words) | 5 |
|
│ ├── Account Settings (Account → Profile → Team)
|
||||||
| Image (basic) | 3 |
|
│ ├── Plans & Billing (Plan → Upgrade → History)
|
||||||
| Image (premium) | 5 |
|
│ ├── Usage (Limits → Credit History → API Activity)
|
||||||
|
│ └── AI Models (admin only)
|
||||||
|
└── HELP
|
||||||
|
└── Help & Docs
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## User Roles
|
## Technical Stack
|
||||||
|
|
||||||
| Role | Access Level |
|
| Layer | Technology |
|
||||||
|------|--------------|
|
|-------|------------|
|
||||||
| Admin | Full account access |
|
| **Backend** | Django 5.x, Django REST Framework, Python 3.11+ |
|
||||||
| Manager | Content + billing view |
|
| **Frontend** | React 19, TypeScript, Vite, TailwindCSS |
|
||||||
| Editor | AI content, clusters, tasks |
|
| **Database** | PostgreSQL 15+ |
|
||||||
| Viewer | Read-only dashboards |
|
| **Cache/Sessions** | Redis |
|
||||||
|
| **Task Queue** | Celery + Celery Beat |
|
||||||
|
| **AI Services** | OpenAI GPT-4, DALL-E 3, Runware |
|
||||||
|
| **Deployment** | Docker, Docker Compose |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Key Workflows
|
## Security
|
||||||
|
|
||||||
### Manual Content Creation
|
- **Data Isolation:** Complete multi-tenant separation at database level
|
||||||
|
- **Authentication:** JWT tokens with Redis session management
|
||||||
1. Import keywords or select from database
|
- **Encryption:** Data encrypted at rest and in transit
|
||||||
2. Run AI clustering to group keywords
|
- **Access Control:** Role-based permissions per account
|
||||||
3. Generate content ideas from clusters
|
- **Session Security:** Secure cookie handling, session integrity checks
|
||||||
4. Create tasks from ideas
|
|
||||||
5. Generate content with AI
|
|
||||||
6. Generate images for content
|
|
||||||
7. Review and edit
|
|
||||||
8. Publish to WordPress
|
|
||||||
|
|
||||||
### Automated Content Pipeline
|
|
||||||
|
|
||||||
1. Configure automation settings
|
|
||||||
2. Set schedule (daily/weekly/monthly)
|
|
||||||
3. System runs 7 stages automatically
|
|
||||||
4. Content queued for review
|
|
||||||
5. Approve and publish
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Security & Compliance
|
## Current Limitations & Known Issues
|
||||||
|
|
||||||
- Encrypted data at rest and in transit
|
**Payment Processing:**
|
||||||
- Multi-tenant data isolation
|
- Stripe/PayPal pending production credentials
|
||||||
- Role-based access control
|
- Manual payment methods available
|
||||||
- Session management with Redis
|
|
||||||
- GDPR compliance ready
|
**Pending Backend Implementation:**
|
||||||
|
- Content Generation settings (append prompt, tone, length) - UI exists, API pending
|
||||||
|
- Publishing settings (auto-publish, sync) - UI exists, API pending
|
||||||
|
- Profile settings save - UI exists, API pending
|
||||||
|
- Password change functionality
|
||||||
|
- API Activity tracking (currently placeholder data)
|
||||||
|
|
||||||
|
**Disabled Modules:**
|
||||||
|
- Linker (internal linking) - Available but disabled
|
||||||
|
- Optimizer (content optimization) - Available but disabled
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Current Limitations
|
## Getting Started
|
||||||
|
|
||||||
| Item | Status |
|
### For New Users
|
||||||
|------|--------|
|
1. Create account and verify email
|
||||||
| Stripe payments | Pending production credentials |
|
2. Create your first site (industry + sectors)
|
||||||
| PayPal payments | Pending production credentials |
|
3. Connect WordPress (optional)
|
||||||
| Linker module | Disabled by default |
|
4. Add keywords from seed database or import CSV
|
||||||
| Optimizer module | Disabled by default |
|
5. Run AI clustering on keywords
|
||||||
|
6. Generate content ideas from clusters
|
||||||
|
7. Queue ideas to Writer
|
||||||
|
8. Generate content and images
|
||||||
|
9. Review and publish
|
||||||
|
|
||||||
|
### For Admins
|
||||||
|
1. Configure AI Models (OpenAI API key, Runware key)
|
||||||
|
2. Customize prompts in Thinker module
|
||||||
|
3. Set up global module settings
|
||||||
|
4. Configure automation schedules
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Technical Details
|
## Documentation
|
||||||
|
|
||||||
For technical documentation, see: `/docs/INDEX.md`
|
| Document | Location |
|
||||||
|
|
||||||
| Component | Technology |
|
|
||||||
|-----------|------------|
|
|
||||||
| Backend | Django 5.x, Python |
|
|
||||||
| Frontend | React 19, TypeScript |
|
|
||||||
| Database | PostgreSQL |
|
|
||||||
| Cache | Redis |
|
|
||||||
| AI | OpenAI GPT-4, DALL-E 3 |
|
|
||||||
| Deployment | Docker |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Support & Resources
|
|
||||||
|
|
||||||
| Resource | Location |
|
|
||||||
|----------|----------|
|
|----------|----------|
|
||||||
| Technical Docs | `/docs/INDEX.md` |
|
| Technical Docs | `/docs/INDEX.md` |
|
||||||
| API Reference | `/docs/20-API/ENDPOINTS.md` |
|
| API Reference | `/docs/20-API/` |
|
||||||
|
| Pre-Launch Audit | `/PRE-LAUNCH-AUDIT.md` |
|
||||||
| Changelog | `/CHANGELOG.md` |
|
| Changelog | `/CHANGELOG.md` |
|
||||||
| Rules | `/RULES.md` |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Version History
|
## Version History
|
||||||
|
|
||||||
- **v1.0.5** (Dec 12, 2025): Purchase Credits tab, UI reorganization
|
| Version | Date | Highlights |
|
||||||
- **v1.0.4** (Dec 12, 2025): Credit Activity tab, Cost Reference panel
|
|---------|------|------------|
|
||||||
- **v1.0.3** (Dec 12, 2025): Usage Limits colors, Cost Breakdown
|
| **1.1.0** | Dec 25, 2025 | UX overhaul, page consolidation, pre-launch audit |
|
||||||
- **v1.0.2** (Dec 12, 2025): Design system enforcement
|
| 1.0.5 | Dec 12, 2025 | Purchase Credits tab |
|
||||||
- **v1.0.1** (Dec 12, 2025): Plan limits UI
|
| 1.0.4 | Dec 12, 2025 | Credit Activity tab |
|
||||||
- **v1.0.0** (Dec 12, 2025): Initial production release
|
| 1.0.3 | Dec 12, 2025 | Usage Limits improvements |
|
||||||
|
| 1.0.2 | Dec 12, 2025 | Design system enforcement |
|
||||||
|
| 1.0.1 | Dec 12, 2025 | Plan limits UI |
|
||||||
|
| 1.0.0 | Dec 12, 2025 | Initial production release |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
*This document provides a non-technical overview. For technical implementation details, refer to the docs folder.*
|
*For detailed technical implementation, see the `/docs` folder. For known issues and improvement roadmap, see `/PRE-LAUNCH-AUDIT.md`.*
|
||||||
|
|||||||
@@ -1,228 +1,312 @@
|
|||||||
# Frontend Pages & Routes
|
# Frontend Pages & Routes
|
||||||
|
|
||||||
**Last Verified:** December 25, 2025
|
**Last Verified:** December 25, 2025
|
||||||
**Framework:** React 18 + TypeScript + React Router 6
|
**Version:** 1.1.0
|
||||||
|
**Framework:** React 19 + TypeScript + React Router 6 + Vite
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Route Configuration
|
## Route Configuration
|
||||||
|
|
||||||
Routes defined in `/frontend/src/App.tsx` with:
|
Routes defined in `/frontend/src/App.tsx`:
|
||||||
- Auth guards via `PrivateRoute` component
|
- `PrivateRoute` - Requires authentication
|
||||||
- Public routes for auth pages
|
- `AdminRoute` - Requires admin/staff role
|
||||||
- Nested layouts with sidebar
|
- Nested layouts with `AppLayout` (sidebar + header)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Public Routes (No Auth Required)
|
## Public Routes (No Auth Required)
|
||||||
|
|
||||||
| Route | Component | Description |
|
| Route | File | Description |
|
||||||
|-------|-----------|-------------|
|
|-------|------|-------------|
|
||||||
| `/login` | `LoginPage` | User login |
|
| `/login` | `AuthPages/SignIn.tsx` | User login |
|
||||||
| `/register` | `RegisterPage` | New account |
|
| `/register` | `AuthPages/SignUp.tsx` | New account registration |
|
||||||
| `/forgot-password` | `ForgotPasswordPage` | Request reset |
|
| `/forgot-password` | `AuthPages/ForgotPassword.tsx` | Request password reset |
|
||||||
| `/reset-password/:token` | `ResetPasswordPage` | Set new password |
|
| `/reset-password/:token` | `AuthPages/ResetPassword.tsx` | Set new password |
|
||||||
| `/verify-email/:token` | `VerifyEmailPage` | Email verification |
|
| `/verify-email/:token` | `AuthPages/VerifyEmail.tsx` | Email verification |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Dashboard Routes
|
## Dashboard
|
||||||
|
|
||||||
| Route | Component | Module | Description |
|
| Route | File | Description |
|
||||||
|-------|-----------|--------|-------------|
|
|-------|------|-------------|
|
||||||
| `/` | `Dashboard` | - | Main dashboard |
|
| `/` | `Dashboard/Home.tsx` | Main dashboard with workflow pipeline, metrics, quick actions |
|
||||||
| `/dashboard` | `Dashboard` | - | Main dashboard (alias) |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Planner Routes
|
## SETUP Routes
|
||||||
|
|
||||||
| Route | Component | Module | Description |
|
### Add Keywords
|
||||||
|-------|-----------|--------|-------------|
|
|
||||||
| `/planner` | `PlannerPage` | Planner | Keyword management |
|
| Route | File | Description |
|
||||||
| `/planner/keywords` | `KeywordsPage` | Planner | Keywords list |
|
|-------|------|-------------|
|
||||||
| `/planner/clusters` | `ClustersPage` | Planner | Cluster view |
|
| `/setup/add-keywords` | `Setup/AddKeywords.tsx` | Browse/add seed keywords from global database |
|
||||||
| `/planner/ideas` | `ContentIdeasPage` | Planner | Content ideas |
|
|
||||||
|
### Content Settings
|
||||||
|
|
||||||
|
| Route | File | Description |
|
||||||
|
|-------|------|-------------|
|
||||||
|
| `/account/content-settings` | `account/ContentSettingsPage.tsx` | 3 tabs: Content Generation, Publishing, Image Settings |
|
||||||
|
|
||||||
|
### Sites
|
||||||
|
|
||||||
|
| Route | File | Description |
|
||||||
|
|-------|------|-------------|
|
||||||
|
| `/sites` | `Sites/List.tsx` | Site listing with filters |
|
||||||
|
| `/sites/:id/dashboard` | `Sites/SiteDashboard.tsx` | Individual site overview |
|
||||||
|
| `/sites/:id/settings` | `Sites/SiteSettings.tsx` | Site settings (General, Integrations, Content Types) |
|
||||||
|
| `/sites/:id/content` | `Sites/SiteContent.tsx` | Site content management |
|
||||||
|
|
||||||
|
### Thinker (Admin Only)
|
||||||
|
|
||||||
|
| Route | File | Description |
|
||||||
|
|-------|------|-------------|
|
||||||
|
| `/thinker/prompts` | `Thinker/Prompts.tsx` | AI prompt template management |
|
||||||
|
| `/thinker/author-profiles` | `Thinker/AuthorProfiles.tsx` | Author profile CRUD |
|
||||||
|
| `/thinker/strategies` | `Thinker/Strategies.tsx` | Coming Soon placeholder |
|
||||||
|
| `/thinker/image-testing` | `Thinker/ImageTesting.tsx` | Coming Soon placeholder |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Writer Routes
|
## WORKFLOW Routes
|
||||||
|
|
||||||
| Route | Component | Module | Description |
|
### Planner
|
||||||
|-------|-----------|--------|-------------|
|
|
||||||
| `/writer` | `WriterPage` | Writer | Task management |
|
| Route | File | Description | Tab |
|
||||||
| `/writer/tasks` | `TasksPage` | Writer | Task list |
|
|-------|------|-------------|-----|
|
||||||
| `/writer/content` | `ContentListPage` | Writer | Content list |
|
| `/planner` | → `/planner/keywords` | Redirect | - |
|
||||||
| `/writer/content/:id` | `ContentEditorPage` | Writer | Edit content |
|
| `/planner/keywords` | `Planner/Keywords.tsx` | Keyword management, bulk actions | Keywords |
|
||||||
|
| `/planner/clusters` | `Planner/Clusters.tsx` | Cluster listing, AI clustering | Clusters |
|
||||||
|
| `/planner/clusters/:id` | `Planner/ClusterView.tsx` | Individual cluster view | - |
|
||||||
|
| `/planner/ideas` | `Planner/Ideas.tsx` | Content ideas, queue to writer | Ideas |
|
||||||
|
| `/planner/keyword-opportunities` | `Planner/KeywordOpportunities.tsx` | Seed keyword discovery (hidden) | - |
|
||||||
|
|
||||||
|
### Writer
|
||||||
|
|
||||||
|
| Route | File | Description | Tab |
|
||||||
|
|-------|------|-------------|-----|
|
||||||
|
| `/writer` | → `/writer/tasks` | Redirect | - |
|
||||||
|
| `/writer/tasks` | `Writer/Tasks.tsx` | Task queue, content generation | Queue |
|
||||||
|
| `/writer/drafts` | `Writer/Drafts.tsx` | Draft content listing | Drafts |
|
||||||
|
| `/writer/content/:id` | `Writer/ContentView.tsx` | Content detail view (read-only) | - |
|
||||||
|
| `/writer/images` | `Writer/Images.tsx` | Image management by content | Images |
|
||||||
|
| `/writer/review` | `Writer/Review.tsx` | Review queue (status=review) | Review |
|
||||||
|
| `/writer/published` | `Writer/Published.tsx` | Published content (status=published) | Published |
|
||||||
|
|
||||||
|
### Automation
|
||||||
|
|
||||||
|
| Route | File | Description |
|
||||||
|
|-------|------|-------------|
|
||||||
|
| `/automation` | `Automation/Dashboard.tsx` | 7-stage pipeline, schedule config, run controls |
|
||||||
|
|
||||||
|
### Linker (Optional Module)
|
||||||
|
|
||||||
|
| Route | File | Description |
|
||||||
|
|-------|------|-------------|
|
||||||
|
| `/linker` | → `/linker/content` | Redirect |
|
||||||
|
| `/linker/content` | `Linker/Content.tsx` | Content list for internal linking |
|
||||||
|
| `/linker/dashboard` | `Linker/Dashboard.tsx` | Not exposed in navigation |
|
||||||
|
|
||||||
|
### Optimizer (Optional Module)
|
||||||
|
|
||||||
|
| Route | File | Description |
|
||||||
|
|-------|------|-------------|
|
||||||
|
| `/optimizer` | → `/optimizer/content` | Redirect |
|
||||||
|
| `/optimizer/content` | `Optimizer/Content.tsx` | Content list with optimization scores |
|
||||||
|
| `/optimizer/preview/:id` | `Optimizer/AnalysisPreview.tsx` | Not linked from UI |
|
||||||
|
| `/optimizer/dashboard` | `Optimizer/Dashboard.tsx` | Not exposed in navigation |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Automation Routes
|
## ACCOUNT Routes
|
||||||
|
|
||||||
| Route | Component | Module | Description |
|
### Account Settings
|
||||||
|-------|-----------|--------|-------------|
|
|
||||||
| `/automation` | `AutomationPage` | Automation | Pipeline view |
|
| Route | File | Description |
|
||||||
| `/automation/config` | `AutomationConfigPage` | Automation | Configuration |
|
|-------|------|-------------|
|
||||||
| `/automation/logs` | `AutomationLogsPage` | Automation | Activity logs |
|
| `/account/settings` | `account/AccountSettingsPage.tsx` | 3 tabs: Account, Profile, Team |
|
||||||
|
|
||||||
|
**Tab Structure:**
|
||||||
|
- **Account**: Organization name, billing address, tax ID
|
||||||
|
- **Profile**: Name, email, phone, timezone, language, notifications, security
|
||||||
|
- **Team**: Team member list, invite, remove
|
||||||
|
|
||||||
|
### Plans & Billing
|
||||||
|
|
||||||
|
| Route | File | Description |
|
||||||
|
|-------|------|-------------|
|
||||||
|
| `/account/plans` | `account/PlansAndBillingPage.tsx` | 3 tabs: Plan, Upgrade, History |
|
||||||
|
|
||||||
|
**Tab Structure:**
|
||||||
|
- **Current Plan**: Plan details, features, credits, renewal date
|
||||||
|
- **Upgrade Plan**: Pricing table, plan comparison
|
||||||
|
- **History**: Invoices, payments, payment methods
|
||||||
|
|
||||||
|
### Usage
|
||||||
|
|
||||||
|
| Route | File | Description |
|
||||||
|
|-------|------|-------------|
|
||||||
|
| `/account/usage` | `account/UsageAnalyticsPage.tsx` | 3 tabs: Limits, Credit History, API Activity |
|
||||||
|
|
||||||
|
**Tab Structure:**
|
||||||
|
- **Your Limits & Usage**: Hard + monthly limits with usage bars
|
||||||
|
- **Credit History**: Transaction log
|
||||||
|
- **API Activity**: Call statistics (currently placeholder data)
|
||||||
|
|
||||||
|
### AI Models (Admin Only)
|
||||||
|
|
||||||
|
| Route | File | Description |
|
||||||
|
|-------|------|-------------|
|
||||||
|
| `/settings/integration` | `Settings/IntegrationPage.tsx` | OpenAI, Runware config, image testing, site integrations |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Linker Routes
|
## HELP Routes
|
||||||
|
|
||||||
| Route | Component | Module | Description |
|
| Route | File | Description |
|
||||||
|-------|-----------|--------|-------------|
|
|-------|------|-------------|
|
||||||
| `/linker` | `LinkerPage` | Linker | Internal linking (inactive) |
|
| `/help` | `Help/HelpCenter.tsx` | Documentation, FAQ, support CTAs |
|
||||||
|
| `/help/docs` | `Help/Documentation.tsx` | Placeholder |
|
||||||
|
| `/help/system-testing` | `Help/SystemTesting.tsx` | Placeholder |
|
||||||
|
| `/help/function-testing` | `Help/FunctionTesting.tsx` | Placeholder |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Optimizer Routes
|
## Legacy Redirects
|
||||||
|
|
||||||
| Route | Component | Module | Description |
|
These routes redirect to their new locations:
|
||||||
|-------|-----------|--------|-------------|
|
|
||||||
| `/optimizer` | `OptimizerPage` | Optimizer | SEO optimization (inactive) |
|
| Old Route | Redirects To |
|
||||||
|
|-----------|--------------|
|
||||||
|
| `/team` | `/account/settings` |
|
||||||
|
| `/profile` | `/account/settings` |
|
||||||
|
| `/import-export` | `/account/settings` |
|
||||||
|
| `/billing/overview` | `/account/plans` |
|
||||||
|
| `/billing/credits` | `/account/plans` (separate page exists at `Billing/CreditPurchase.tsx`) |
|
||||||
|
| `/billing/history` | `/account/plans` |
|
||||||
|
| `/publishing` | `/account/content-settings` |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Settings Routes
|
## Page File Locations
|
||||||
|
|
||||||
| Route | Component | Description |
|
|
||||||
|-------|-----------|-------------|
|
|
||||||
| `/settings` | `SettingsPage` | Settings index |
|
|
||||||
| `/settings/sites` | `SitesSettingsPage` | Site management |
|
|
||||||
| `/settings/sites/:id` | `SiteDetailPage` | Site details |
|
|
||||||
| `/settings/sectors` | `SectorsSettingsPage` | Sector management |
|
|
||||||
| `/settings/users` | `UsersSettingsPage` | User management |
|
|
||||||
| `/settings/integrations` | `IntegrationsSettingsPage` | Integration setup |
|
|
||||||
| `/settings/integrations/:id` | `IntegrationDetailPage` | Integration details |
|
|
||||||
| `/settings/prompts` | `PromptsSettingsPage` | AI prompts |
|
|
||||||
| `/settings/modules` | `ModulesSettingsPage` | Module enable/disable |
|
|
||||||
| `/settings/api-keys` | `APIKeysSettingsPage` | AI API keys |
|
|
||||||
| `/settings/billing` | `BillingSettingsPage` | Credit/billing |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Profile Routes
|
|
||||||
|
|
||||||
| Route | Component | Description |
|
|
||||||
|-------|-----------|-------------|
|
|
||||||
| `/profile` | `ProfilePage` | User profile |
|
|
||||||
| `/profile/account` | `AccountPage` | Account settings |
|
|
||||||
| `/profile/security` | `SecurityPage` | Password/2FA |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Page Components Location
|
|
||||||
|
|
||||||
```
|
```
|
||||||
frontend/src/pages/
|
frontend/src/pages/
|
||||||
├── auth/
|
├── account/
|
||||||
│ ├── LoginPage.tsx
|
│ ├── AccountSettingsPage.tsx # Account, Profile, Team tabs
|
||||||
│ ├── RegisterPage.tsx
|
│ ├── ContentSettingsPage.tsx # Content Gen, Publishing, Images tabs
|
||||||
│ ├── ForgotPasswordPage.tsx
|
│ ├── PlansAndBillingPage.tsx # Plan, Upgrade, History tabs
|
||||||
│ └── ResetPasswordPage.tsx
|
│ ├── UsageAnalyticsPage.tsx # Limits, Credit History, API tabs
|
||||||
├── dashboard/
|
│ ├── UsageLimits.tsx # Limits tab component
|
||||||
|
│ └── CreditActivity.tsx # Credit History tab component
|
||||||
|
├── AuthPages/
|
||||||
|
│ ├── SignIn.tsx
|
||||||
|
│ ├── SignUp.tsx
|
||||||
|
│ ├── ForgotPassword.tsx
|
||||||
|
│ ├── ResetPassword.tsx
|
||||||
|
│ └── VerifyEmail.tsx
|
||||||
|
├── Automation/
|
||||||
│ └── Dashboard.tsx
|
│ └── Dashboard.tsx
|
||||||
├── planner/
|
├── Billing/
|
||||||
│ ├── PlannerPage.tsx
|
│ └── CreditPurchase.tsx
|
||||||
│ ├── KeywordsPage.tsx
|
├── Dashboard/
|
||||||
│ ├── ClustersPage.tsx
|
│ └── Home.tsx
|
||||||
│ └── ContentIdeasPage.tsx
|
├── Help/
|
||||||
├── writer/
|
│ ├── HelpCenter.tsx
|
||||||
│ ├── WriterPage.tsx
|
│ ├── Documentation.tsx # Placeholder
|
||||||
│ ├── TasksPage.tsx
|
│ ├── SystemTesting.tsx # Placeholder
|
||||||
│ ├── ContentListPage.tsx
|
│ └── FunctionTesting.tsx # Placeholder
|
||||||
│ └── ContentEditorPage.tsx
|
├── Linker/
|
||||||
├── automation/
|
│ ├── Content.tsx
|
||||||
│ ├── AutomationPage.tsx
|
│ └── Dashboard.tsx # Not exposed
|
||||||
│ ├── AutomationConfigPage.tsx
|
├── Optimizer/
|
||||||
│ └── AutomationLogsPage.tsx
|
│ ├── Content.tsx
|
||||||
├── linker/
|
│ ├── AnalysisPreview.tsx # Not linked
|
||||||
│ └── LinkerPage.tsx
|
│ └── Dashboard.tsx # Not exposed
|
||||||
├── optimizer/
|
├── Planner/
|
||||||
│ └── OptimizerPage.tsx
|
│ ├── Keywords.tsx
|
||||||
├── settings/
|
│ ├── Clusters.tsx
|
||||||
│ ├── SettingsPage.tsx
|
│ ├── ClusterView.tsx
|
||||||
│ ├── SitesSettingsPage.tsx
|
│ ├── Ideas.tsx
|
||||||
│ ├── SectorsSettingsPage.tsx
|
│ └── KeywordOpportunities.tsx # Not in nav
|
||||||
│ ├── UsersSettingsPage.tsx
|
├── Settings/
|
||||||
│ ├── IntegrationsSettingsPage.tsx
|
│ └── IntegrationPage.tsx # AI Models (admin)
|
||||||
│ ├── PromptsSettingsPage.tsx
|
├── Setup/
|
||||||
│ ├── ModulesSettingsPage.tsx
|
│ └── AddKeywords.tsx
|
||||||
│ ├── APIKeysSettingsPage.tsx
|
├── Sites/
|
||||||
│ └── BillingSettingsPage.tsx
|
│ ├── List.tsx
|
||||||
└── profile/
|
│ ├── SiteDashboard.tsx
|
||||||
├── ProfilePage.tsx
|
│ ├── SiteSettings.tsx
|
||||||
└── SecurityPage.tsx
|
│ ├── SiteContent.tsx
|
||||||
|
│ └── Manage.tsx # Possibly redundant
|
||||||
|
├── Thinker/
|
||||||
|
│ ├── Prompts.tsx
|
||||||
|
│ ├── AuthorProfiles.tsx
|
||||||
|
│ ├── Strategies.tsx # Coming Soon
|
||||||
|
│ └── ImageTesting.tsx # Coming Soon
|
||||||
|
└── Writer/
|
||||||
|
├── Tasks.tsx
|
||||||
|
├── Drafts.tsx
|
||||||
|
├── ContentView.tsx
|
||||||
|
├── Images.tsx
|
||||||
|
├── Review.tsx
|
||||||
|
└── Published.tsx
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Route Guards
|
## Route Guards
|
||||||
|
|
||||||
### PrivateRoute Component
|
### PrivateRoute
|
||||||
|
- Checks `authStore.isAuthenticated`
|
||||||
```typescript
|
- Redirects to `/login` if not authenticated
|
||||||
// frontend/src/components/auth/PrivateRoute.tsx
|
|
||||||
- Checks authentication state
|
|
||||||
- Redirects to /login if not authenticated
|
|
||||||
- Stores intended destination for post-login redirect
|
- Stores intended destination for post-login redirect
|
||||||
```
|
|
||||||
|
### AdminRoute
|
||||||
|
- Requires `user.role === 'admin'` or `user.is_staff === true`
|
||||||
|
- Used for: Thinker module, AI Models page
|
||||||
|
|
||||||
### Module-Based Visibility
|
### Module-Based Visibility
|
||||||
|
- Sidebar items hidden via `moduleStore.isModuleEnabled()`
|
||||||
Sidebar items hidden when module disabled:
|
- Routes still accessible via direct URL (no server-side blocking)
|
||||||
- Controlled by `moduleStore.isModuleEnabled()`
|
|
||||||
- Does NOT block direct URL access (pending implementation)
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Navigation Structure
|
## Navigation Structure (Sidebar)
|
||||||
|
|
||||||
### Main Sidebar (`AppSidebar.tsx`)
|
|
||||||
|
|
||||||
```
|
```
|
||||||
Dashboard
|
Dashboard
|
||||||
├── Planner [if enabled]
|
├── SETUP
|
||||||
│ ├── Keywords
|
│ ├── Add Keywords
|
||||||
│ ├── Clusters
|
│ ├── Content Settings
|
||||||
│ └── Ideas
|
│ ├── Sites [if site_builder enabled]
|
||||||
├── Writer [if enabled]
|
│ └── Thinker [admin only, if thinker enabled]
|
||||||
│ ├── Tasks
|
├── WORKFLOW
|
||||||
│ └── Content
|
│ ├── Planner [if planner enabled]
|
||||||
├── Automation [if enabled]
|
│ │ └── In-page: Keywords → Clusters → Ideas
|
||||||
├── Linker [if enabled, hidden by default]
|
│ ├── Writer [if writer enabled]
|
||||||
├── Optimizer [if enabled, hidden by default]
|
│ │ └── In-page: Queue → Drafts → Images → Review → Published
|
||||||
└── Settings
|
│ ├── Automation [if automation enabled]
|
||||||
|
│ ├── Linker [if linker enabled]
|
||||||
|
│ └── Optimizer [if optimizer enabled]
|
||||||
|
├── ACCOUNT
|
||||||
|
│ ├── Account Settings (Account → Profile → Team)
|
||||||
|
│ ├── Plans & Billing (Plan → Upgrade → History)
|
||||||
|
│ ├── Usage (Limits → Credit History → API Activity)
|
||||||
|
│ └── AI Models [admin only]
|
||||||
|
└── HELP
|
||||||
|
└── Help & Docs
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Layout Components
|
## Known Issues (from Audit)
|
||||||
|
|
||||||
| Component | Location | Purpose |
|
1. **KeywordOpportunities** not accessible from navigation
|
||||||
|-----------|----------|---------|
|
2. **Linker/Optimizer Dashboards** exist but not exposed
|
||||||
| `AppLayout` | `/layouts/AppLayout.tsx` | Main app wrapper |
|
3. **Help sub-pages** are placeholders
|
||||||
| `AppSidebar` | `/components/sidebar/AppSidebar.tsx` | Navigation sidebar |
|
4. **ContentView** is read-only (no editing capability)
|
||||||
| `AppHeader` | `/components/header/AppHeader.tsx` | Top navigation |
|
5. Legacy redirects may cause confusion
|
||||||
| `PageHeader` | `/components/common/PageHeader.tsx` | Page title section |
|
|
||||||
| `ContentContainer` | `/components/common/ContentContainer.tsx` | Content wrapper |
|
|
||||||
|
|
||||||
---
|
See `/PRE-LAUNCH-AUDIT.md` for complete issue list.
|
||||||
|
|
||||||
## State Context
|
|
||||||
|
|
||||||
All routes have access to:
|
|
||||||
- `useAuthStore()` - User/account info
|
|
||||||
- `useSiteStore()` - Current site selection
|
|
||||||
- `useSectorStore()` - Current sector selection
|
|
||||||
- `useModuleStore()` - Module enable states
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Planned Changes
|
|
||||||
|
|
||||||
| Item | Description | Priority |
|
|
||||||
|------|-------------|----------|
|
|
||||||
| Route-level guards | Block disabled module routes, not just hide sidebar | High |
|
|
||||||
| Breadcrumbs | Add breadcrumb navigation | Medium |
|
|
||||||
| Route analytics | Track page views | Low |
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# IGNY8 Technical Documentation
|
# IGNY8 Technical Documentation
|
||||||
|
|
||||||
**Version:** 1.0.5
|
**Version:** 1.1.0
|
||||||
**Last Updated:** December 25, 2025
|
**Last Updated:** December 25, 2025
|
||||||
**Purpose:** Complete technical reference for the IGNY8 AI content platform
|
**Purpose:** Complete technical reference for the IGNY8 AI content platform
|
||||||
|
|
||||||
@@ -17,6 +17,7 @@
|
|||||||
| Trace a workflow end-to-end | [40-WORKFLOWS/](#workflows) |
|
| Trace a workflow end-to-end | [40-WORKFLOWS/](#workflows) |
|
||||||
| Look up model fields | [90-REFERENCE/MODELS.md](90-REFERENCE/MODELS.md) |
|
| Look up model fields | [90-REFERENCE/MODELS.md](90-REFERENCE/MODELS.md) |
|
||||||
| Troubleshoot issues | [90-REFERENCE/TROUBLESHOOTING.md](90-REFERENCE/TROUBLESHOOTING.md) |
|
| Troubleshoot issues | [90-REFERENCE/TROUBLESHOOTING.md](90-REFERENCE/TROUBLESHOOTING.md) |
|
||||||
|
| See known issues | [/PRE-LAUNCH-AUDIT.md](/PRE-LAUNCH-AUDIT.md) |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -63,6 +64,41 @@
|
|||||||
| [STORES.md](30-FRONTEND/STORES.md) | Zustand state management |
|
| [STORES.md](30-FRONTEND/STORES.md) | Zustand state management |
|
||||||
| [COMPONENTS.md](30-FRONTEND/COMPONENTS.md) | Key reusable components |
|
| [COMPONENTS.md](30-FRONTEND/COMPONENTS.md) | Key reusable components |
|
||||||
|
|
||||||
|
### Current Page Structure (v1.1.0)
|
||||||
|
|
||||||
|
```
|
||||||
|
/ → Dashboard (Home.tsx)
|
||||||
|
├── SETUP
|
||||||
|
│ /setup/add-keywords → Add Keywords (AddKeywords.tsx)
|
||||||
|
│ /account/content-settings → Content Settings (ContentSettingsPage.tsx)
|
||||||
|
│ /sites → Sites List (List.tsx)
|
||||||
|
│ /sites/:id/settings → Site Settings (SiteSettings.tsx)
|
||||||
|
│ /thinker/prompts → Thinker Prompts (Prompts.tsx) [Admin]
|
||||||
|
│ /thinker/author-profiles → Author Profiles (AuthorProfiles.tsx) [Admin]
|
||||||
|
├── WORKFLOW
|
||||||
|
│ /planner/keywords → Planner Keywords (Keywords.tsx)
|
||||||
|
│ /planner/clusters → Clusters (Clusters.tsx)
|
||||||
|
│ /planner/ideas → Ideas (Ideas.tsx)
|
||||||
|
│ /writer/tasks → Writer Queue (Tasks.tsx)
|
||||||
|
│ /writer/drafts → Drafts (Drafts.tsx)
|
||||||
|
│ /writer/images → Images (Images.tsx)
|
||||||
|
│ /writer/review → Review (Review.tsx)
|
||||||
|
│ /writer/published → Published (Published.tsx)
|
||||||
|
│ /automation → Automation Dashboard (Dashboard.tsx)
|
||||||
|
│ /linker/content → Linker [if enabled]
|
||||||
|
│ /optimizer/content → Optimizer [if enabled]
|
||||||
|
├── ACCOUNT
|
||||||
|
│ /account/settings → Account Settings (AccountSettingsPage.tsx)
|
||||||
|
│ - Tabs: Account, Profile, Team
|
||||||
|
│ /account/plans → Plans & Billing (PlansAndBillingPage.tsx)
|
||||||
|
│ - Tabs: Plan, Upgrade, History
|
||||||
|
│ /account/usage → Usage Analytics (UsageAnalyticsPage.tsx)
|
||||||
|
│ - Tabs: Limits, Credit History, API Activity
|
||||||
|
│ /settings/integration → AI Models (IntegrationPage.tsx) [Admin]
|
||||||
|
└── HELP
|
||||||
|
/help → Help Center (HelpCenter.tsx)
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 40-WORKFLOWS - Cross-Module Flows {#workflows}
|
## 40-WORKFLOWS - Cross-Module Flows {#workflows}
|
||||||
@@ -90,8 +126,8 @@
|
|||||||
| File | Purpose |
|
| File | Purpose |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| [/CHANGELOG.md](/CHANGELOG.md) | Version history and changes |
|
| [/CHANGELOG.md](/CHANGELOG.md) | Version history and changes |
|
||||||
| [/RULES.md](/RULES.md) | Documentation maintenance rules |
|
| [/IGNY8-APP.md](/IGNY8-APP.md) | Platform overview (non-technical) |
|
||||||
| [/IGNY8-APP.md](/IGNY8-APP.md) | Executive summary (non-technical) |
|
| [/PRE-LAUNCH-AUDIT.md](/PRE-LAUNCH-AUDIT.md) | Known issues and improvement roadmap |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -99,17 +135,23 @@
|
|||||||
|
|
||||||
| Module | Backend Path | Frontend Path |
|
| Module | Backend Path | Frontend Path |
|
||||||
|--------|--------------|---------------|
|
|--------|--------------|---------------|
|
||||||
|
| Dashboard | N/A | `frontend/src/pages/Dashboard/` |
|
||||||
|
| Setup | N/A | `frontend/src/pages/Setup/` |
|
||||||
| Planner | `backend/igny8_core/modules/planner/` | `frontend/src/pages/Planner/` |
|
| Planner | `backend/igny8_core/modules/planner/` | `frontend/src/pages/Planner/` |
|
||||||
| Writer | `backend/igny8_core/modules/writer/` | `frontend/src/pages/Writer/` |
|
| Writer | `backend/igny8_core/modules/writer/` | `frontend/src/pages/Writer/` |
|
||||||
| Billing | `backend/igny8_core/modules/billing/` + `business/billing/` | `frontend/src/pages/Billing/` |
|
| Billing | `backend/igny8_core/modules/billing/` + `business/billing/` | `frontend/src/pages/account/` |
|
||||||
| Automation | `backend/igny8_core/business/automation/` | `frontend/src/pages/Automation/` |
|
| Automation | `backend/igny8_core/business/automation/` | `frontend/src/pages/Automation/` |
|
||||||
| Integrations | `backend/igny8_core/modules/integration/` + `business/integration/` | `frontend/src/pages/Settings/` |
|
| Integrations | `backend/igny8_core/modules/integration/` + `business/integration/` | `frontend/src/pages/Settings/` |
|
||||||
| System | `backend/igny8_core/modules/system/` | `frontend/src/pages/Settings/` |
|
| System | `backend/igny8_core/modules/system/` | `frontend/src/pages/Settings/` |
|
||||||
| Linker | `backend/igny8_core/modules/linker/` | `frontend/src/pages/Linker/` |
|
| Linker | `backend/igny8_core/modules/linker/` | `frontend/src/pages/Linker/` |
|
||||||
| Optimizer | `backend/igny8_core/modules/optimizer/` + `business/optimization/` | `frontend/src/pages/Optimizer/` |
|
| Optimizer | `backend/igny8_core/modules/optimizer/` + `business/optimization/` | `frontend/src/pages/Optimizer/` |
|
||||||
| Publisher | `backend/igny8_core/modules/publisher/` + `business/publishing/` | N/A |
|
| Publisher | `backend/igny8_core/modules/publisher/` + `business/publishing/` | N/A (backend only) |
|
||||||
| Auth | `backend/igny8_core/auth/` | `frontend/src/pages/Auth/` |
|
| Auth | `backend/igny8_core/auth/` | `frontend/src/pages/AuthPages/` |
|
||||||
| AI Engine | `backend/igny8_core/ai/` | N/A |
|
| AI Engine | `backend/igny8_core/ai/` | N/A |
|
||||||
|
| Thinker | `backend/igny8_core/modules/thinker/` | `frontend/src/pages/Thinker/` |
|
||||||
|
| Sites | `backend/igny8_core/modules/sites/` | `frontend/src/pages/Sites/` |
|
||||||
|
| Help | N/A | `frontend/src/pages/Help/` |
|
||||||
|
| Account | `backend/igny8_core/modules/accounts/` | `frontend/src/pages/account/` |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -133,10 +175,10 @@
|
|||||||
|
|
||||||
| Layer | Technology |
|
| Layer | Technology |
|
||||||
|-------|------------|
|
|-------|------------|
|
||||||
| Backend | Django 5.1, Django REST Framework, PostgreSQL |
|
| Backend | Django 5.x, Django REST Framework, PostgreSQL 15+ |
|
||||||
| Frontend | React 18, TypeScript, Vite, Tailwind CSS |
|
| Frontend | React 19, TypeScript, Vite, TailwindCSS |
|
||||||
| State | Zustand |
|
| State | Zustand |
|
||||||
| Async | Celery + Redis |
|
| Async | Celery + Redis |
|
||||||
| AI | OpenAI (GPT-4), DALL-E 3, Runware |
|
| AI | OpenAI (GPT-4, GPT-4 Turbo), DALL-E 3, Runware |
|
||||||
| Auth | JWT + Session |
|
| Auth | JWT + Redis Sessions |
|
||||||
| Deployment | Docker, Caddy |
|
| Deployment | Docker, Docker Compose, Caddy |
|
||||||
|
|||||||
Reference in New Issue
Block a user