docs update

This commit is contained in:
IGNY8 VPS (Salman)
2025-12-25 23:18:35 +00:00
parent 91525b8999
commit 444d53dc7b
4 changed files with 646 additions and 318 deletions

View File

@@ -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

View File

@@ -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`.*

View File

@@ -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 |

View File

@@ -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 |