diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a54d098..b04c843e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # IGNY8 Change Log -**Current Version:** 1.0.5 +**Current Version:** 1.1.0 **Last Updated:** December 25, 2025 --- @@ -9,6 +9,7 @@ | 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.4 | Dec 12, 2025 | Credit Activity tab, Cost Reference panel | | 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 ### Added diff --git a/IGNY8-APP.md b/IGNY8-APP.md index cc15e40d..857610a2 100644 --- a/IGNY8-APP.md +++ b/IGNY8-APP.md @@ -1,6 +1,6 @@ # IGNY8 - AI-Powered SEO Content Platform -**Version:** 1.0.5 +**Version:** 1.1.0 **Last Updated:** December 25, 2025 **Status:** Production Ready @@ -8,216 +8,363 @@ ## 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 | |--------|---------| -| Type | Full-stack SaaS Platform | -| Architecture | Multi-tenant cloud application | -| Target Users | Content marketers, SEO agencies, digital publishers | -| Deployment | Docker-based, cloud-hosted | -| Pricing | Credit-based usage with subscription plans | +| **Type** | Full-stack SaaS Platform | +| **Architecture** | Multi-tenant with complete data isolation | +| **Target Users** | Content marketers, SEO agencies, digital publishers | +| **Deployment** | Docker-based, cloud-hosted | +| **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 -- **Smart Structuring**: Proper headings, paragraphs, lists automatically -- **SEO Optimization**: Meta titles, descriptions, keyword density -- **Customizable Length**: 500 to 5,000+ words per article -- **Multiple Content Types**: Blog posts, guides, comparisons, reviews +### Manual Mode +Walk through each stage with full control—review and edit at every step. -### 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 -- **AI Clustering**: Automatically group related keywords -- **Global Database**: 50+ industries with seed keywords -- **Intent Classification**: Informational, commercial, transactional -- **Metrics Tracking**: Volume, difficulty, CPC +## Feature Deep-Dive -### 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 -- **Structured Briefs**: Title, keywords, angle, outline -- **Word Count Estimates**: Based on competition analysis -- **Priority Scoring**: Rank by SEO potential +**AI Clustering:** +- GPT-4 analyzes keyword intent and relationships +- Groups related keywords into topical clusters +- 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 -- **Runware**: Alternative provider for variety -- **Smart Prompts**: Extracted from content context -- **Multiple Types**: Featured, in-article, mobile/desktop +### 2. Content Ideation (Planner) + +**AI-Generated Ideas:** +- 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 -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 -- **Configurable**: Batch sizes, delays, stages -- **Credit Estimation**: Know costs before running -- **Pause/Resume**: Control running automation +**Configuration:** +- Schedule: Daily, weekly, or monthly runs +- Run controls: Start, pause, resume +- Credit estimation before running +- Real-time progress tracking +- Activity log and run history + +--- ### 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 -- **Two-Way Sync**: Import and export content -- **Taxonomy Sync**: Categories and tags -- **Image Upload**: Featured and in-article -- **Multiple Sites**: Manage many WordPress sites +**Synchronization:** +- Two-way content sync (import/export) +- Category and tag mapping +- Featured image upload +- 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 | Description | -|--------|--------|-------------| -| **Planner** | ✅ Active | Keyword management, clustering, ideas | -| **Writer** | ✅ Active | Task management, content generation, images | -| **Automation** | ✅ Active | 7-stage automated pipeline | -| **Billing** | ✅ Active | Credits, plans, payments | -| **Integrations** | ✅ Active | WordPress sync | -| **Settings** | ✅ Active | AI config, prompts, modules | -| **Publisher** | ✅ Active | Publishing pipeline | -| **Linker** | ⏸️ Inactive | Internal linking (available but disabled) | -| **Optimizer** | ⏸️ Inactive | Content optimization (available but disabled) | +| Module | Status | Location | +|--------|--------|----------| +| **Dashboard** | ✅ Active | `/` | +| **Add Keywords** | ✅ Active | `/setup/add-keywords` | +| **Content Settings** | ✅ Active | `/account/content-settings` | +| **Sites** | ✅ Active | `/sites` | +| **Thinker** | ✅ Active (Admin) | `/thinker/prompts` | +| **Planner** | ✅ Active | `/planner/keywords` | +| **Writer** | ✅ Active | `/writer/tasks` | +| **Automation** | ✅ Active | `/automation` | +| **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 - -| Plan | Sites | Users | Credits/Month | Best For | -|------|-------|-------|---------------|----------| -| Free | 1 | 1 | 100 | Trial | -| Starter | 3 | 3 | 1,000 | Individuals | -| Growth | 10 | 10 | 5,000 | Small teams | -| Scale | Unlimited | Unlimited | 25,000 | Agencies | - -### Credit Costs (Typical) - -| Operation | Credits | -|-----------|---------| -| Keyword Clustering (batch) | 10 | -| Content Idea | 2 | -| Content (per 100 words) | 5 | -| Image (basic) | 3 | -| Image (premium) | 5 | +``` +Sidebar Menu +├── Dashboard +├── SETUP +│ ├── Add Keywords +│ ├── Content Settings +│ ├── Sites (if enabled) +│ └── Thinker (admin only, if enabled) +├── WORKFLOW +│ ├── Planner (Keywords → Clusters → Ideas) +│ ├── Writer (Queue → Drafts → Images → Review → Published) +│ ├── Automation +│ ├── Linker (if enabled) +│ └── Optimizer (if 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 +``` --- -## User Roles +## Technical Stack -| Role | Access Level | -|------|--------------| -| Admin | Full account access | -| Manager | Content + billing view | -| Editor | AI content, clusters, tasks | -| Viewer | Read-only dashboards | +| Layer | Technology | +|-------|------------| +| **Backend** | Django 5.x, Django REST Framework, Python 3.11+ | +| **Frontend** | React 19, TypeScript, Vite, TailwindCSS | +| **Database** | PostgreSQL 15+ | +| **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 - -1. Import keywords or select from database -2. Run AI clustering to group keywords -3. Generate content ideas from clusters -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 +- **Data Isolation:** Complete multi-tenant separation at database level +- **Authentication:** JWT tokens with Redis session management +- **Encryption:** Data encrypted at rest and in transit +- **Access Control:** Role-based permissions per account +- **Session Security:** Secure cookie handling, session integrity checks --- -## Security & Compliance +## Current Limitations & Known Issues -- Encrypted data at rest and in transit -- Multi-tenant data isolation -- Role-based access control -- Session management with Redis -- GDPR compliance ready +**Payment Processing:** +- Stripe/PayPal pending production credentials +- Manual payment methods available + +**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 | -|------|--------| -| Stripe payments | Pending production credentials | -| PayPal payments | Pending production credentials | -| Linker module | Disabled by default | -| Optimizer module | Disabled by default | +### For New Users +1. Create account and verify email +2. Create your first site (industry + sectors) +3. Connect WordPress (optional) +4. Add keywords from seed database or import CSV +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` - -| 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 | +| Document | Location | |----------|----------| | 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` | -| Rules | `/RULES.md` | --- ## Version History -- **v1.0.5** (Dec 12, 2025): Purchase Credits tab, UI reorganization -- **v1.0.4** (Dec 12, 2025): Credit Activity tab, Cost Reference panel -- **v1.0.3** (Dec 12, 2025): Usage Limits colors, Cost Breakdown -- **v1.0.2** (Dec 12, 2025): Design system enforcement -- **v1.0.1** (Dec 12, 2025): Plan limits UI -- **v1.0.0** (Dec 12, 2025): Initial production release +| Version | Date | Highlights | +|---------|------|------------| +| **1.1.0** | Dec 25, 2025 | UX overhaul, page consolidation, pre-launch audit | +| 1.0.5 | Dec 12, 2025 | Purchase Credits tab | +| 1.0.4 | Dec 12, 2025 | Credit Activity tab | +| 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`.* diff --git a/docs/30-FRONTEND/PAGES.md b/docs/30-FRONTEND/PAGES.md index e83b8705..dd481cbd 100644 --- a/docs/30-FRONTEND/PAGES.md +++ b/docs/30-FRONTEND/PAGES.md @@ -1,228 +1,312 @@ # Frontend Pages & Routes **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 -Routes defined in `/frontend/src/App.tsx` with: -- Auth guards via `PrivateRoute` component -- Public routes for auth pages -- Nested layouts with sidebar +Routes defined in `/frontend/src/App.tsx`: +- `PrivateRoute` - Requires authentication +- `AdminRoute` - Requires admin/staff role +- Nested layouts with `AppLayout` (sidebar + header) --- ## Public Routes (No Auth Required) -| Route | Component | Description | -|-------|-----------|-------------| -| `/login` | `LoginPage` | User login | -| `/register` | `RegisterPage` | New account | -| `/forgot-password` | `ForgotPasswordPage` | Request reset | -| `/reset-password/:token` | `ResetPasswordPage` | Set new password | -| `/verify-email/:token` | `VerifyEmailPage` | Email verification | +| Route | File | Description | +|-------|------|-------------| +| `/login` | `AuthPages/SignIn.tsx` | User login | +| `/register` | `AuthPages/SignUp.tsx` | New account registration | +| `/forgot-password` | `AuthPages/ForgotPassword.tsx` | Request password reset | +| `/reset-password/:token` | `AuthPages/ResetPassword.tsx` | Set new password | +| `/verify-email/:token` | `AuthPages/VerifyEmail.tsx` | Email verification | --- -## Dashboard Routes +## Dashboard -| Route | Component | Module | Description | -|-------|-----------|--------|-------------| -| `/` | `Dashboard` | - | Main dashboard | -| `/dashboard` | `Dashboard` | - | Main dashboard (alias) | +| Route | File | Description | +|-------|------|-------------| +| `/` | `Dashboard/Home.tsx` | Main dashboard with workflow pipeline, metrics, quick actions | --- -## Planner Routes +## SETUP Routes -| Route | Component | Module | Description | -|-------|-----------|--------|-------------| -| `/planner` | `PlannerPage` | Planner | Keyword management | -| `/planner/keywords` | `KeywordsPage` | Planner | Keywords list | -| `/planner/clusters` | `ClustersPage` | Planner | Cluster view | -| `/planner/ideas` | `ContentIdeasPage` | Planner | Content ideas | +### Add Keywords + +| Route | File | Description | +|-------|------|-------------| +| `/setup/add-keywords` | `Setup/AddKeywords.tsx` | Browse/add seed keywords from global database | + +### 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 | -|-------|-----------|--------|-------------| -| `/writer` | `WriterPage` | Writer | Task management | -| `/writer/tasks` | `TasksPage` | Writer | Task list | -| `/writer/content` | `ContentListPage` | Writer | Content list | -| `/writer/content/:id` | `ContentEditorPage` | Writer | Edit content | +### Planner + +| Route | File | Description | Tab | +|-------|------|-------------|-----| +| `/planner` | → `/planner/keywords` | Redirect | - | +| `/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 | -|-------|-----------|--------|-------------| -| `/automation` | `AutomationPage` | Automation | Pipeline view | -| `/automation/config` | `AutomationConfigPage` | Automation | Configuration | -| `/automation/logs` | `AutomationLogsPage` | Automation | Activity logs | +### Account Settings + +| Route | File | Description | +|-------|------|-------------| +| `/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 | -|-------|-----------|--------|-------------| -| `/linker` | `LinkerPage` | Linker | Internal linking (inactive) | +| Route | File | Description | +|-------|------|-------------| +| `/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 | -|-------|-----------|--------|-------------| -| `/optimizer` | `OptimizerPage` | Optimizer | SEO optimization (inactive) | +These routes redirect to their new locations: + +| 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 - -| 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 +## Page File Locations ``` frontend/src/pages/ -├── auth/ -│ ├── LoginPage.tsx -│ ├── RegisterPage.tsx -│ ├── ForgotPasswordPage.tsx -│ └── ResetPasswordPage.tsx -├── dashboard/ +├── account/ +│ ├── AccountSettingsPage.tsx # Account, Profile, Team tabs +│ ├── ContentSettingsPage.tsx # Content Gen, Publishing, Images tabs +│ ├── PlansAndBillingPage.tsx # Plan, Upgrade, History tabs +│ ├── UsageAnalyticsPage.tsx # Limits, Credit History, API tabs +│ ├── 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 -├── planner/ -│ ├── PlannerPage.tsx -│ ├── KeywordsPage.tsx -│ ├── ClustersPage.tsx -│ └── ContentIdeasPage.tsx -├── writer/ -│ ├── WriterPage.tsx -│ ├── TasksPage.tsx -│ ├── ContentListPage.tsx -│ └── ContentEditorPage.tsx -├── automation/ -│ ├── AutomationPage.tsx -│ ├── AutomationConfigPage.tsx -│ └── AutomationLogsPage.tsx -├── linker/ -│ └── LinkerPage.tsx -├── optimizer/ -│ └── OptimizerPage.tsx -├── settings/ -│ ├── SettingsPage.tsx -│ ├── SitesSettingsPage.tsx -│ ├── SectorsSettingsPage.tsx -│ ├── UsersSettingsPage.tsx -│ ├── IntegrationsSettingsPage.tsx -│ ├── PromptsSettingsPage.tsx -│ ├── ModulesSettingsPage.tsx -│ ├── APIKeysSettingsPage.tsx -│ └── BillingSettingsPage.tsx -└── profile/ - ├── ProfilePage.tsx - └── SecurityPage.tsx +├── Billing/ +│ └── CreditPurchase.tsx +├── Dashboard/ +│ └── Home.tsx +├── Help/ +│ ├── HelpCenter.tsx +│ ├── Documentation.tsx # Placeholder +│ ├── SystemTesting.tsx # Placeholder +│ └── FunctionTesting.tsx # Placeholder +├── Linker/ +│ ├── Content.tsx +│ └── Dashboard.tsx # Not exposed +├── Optimizer/ +│ ├── Content.tsx +│ ├── AnalysisPreview.tsx # Not linked +│ └── Dashboard.tsx # Not exposed +├── Planner/ +│ ├── Keywords.tsx +│ ├── Clusters.tsx +│ ├── ClusterView.tsx +│ ├── Ideas.tsx +│ └── KeywordOpportunities.tsx # Not in nav +├── Settings/ +│ └── IntegrationPage.tsx # AI Models (admin) +├── Setup/ +│ └── AddKeywords.tsx +├── Sites/ +│ ├── List.tsx +│ ├── SiteDashboard.tsx +│ ├── SiteSettings.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 -### PrivateRoute Component - -```typescript -// frontend/src/components/auth/PrivateRoute.tsx -- Checks authentication state -- Redirects to /login if not authenticated +### PrivateRoute +- Checks `authStore.isAuthenticated` +- Redirects to `/login` if not authenticated - 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 - -Sidebar items hidden when module disabled: -- Controlled by `moduleStore.isModuleEnabled()` -- Does NOT block direct URL access (pending implementation) +- Sidebar items hidden via `moduleStore.isModuleEnabled()` +- Routes still accessible via direct URL (no server-side blocking) --- -## Navigation Structure - -### Main Sidebar (`AppSidebar.tsx`) +## Navigation Structure (Sidebar) ``` Dashboard -├── Planner [if enabled] -│ ├── Keywords -│ ├── Clusters -│ └── Ideas -├── Writer [if enabled] -│ ├── Tasks -│ └── Content -├── Automation [if enabled] -├── Linker [if enabled, hidden by default] -├── Optimizer [if enabled, hidden by default] -└── Settings +├── SETUP +│ ├── Add Keywords +│ ├── Content Settings +│ ├── Sites [if site_builder enabled] +│ └── Thinker [admin only, if thinker enabled] +├── WORKFLOW +│ ├── Planner [if planner enabled] +│ │ └── In-page: Keywords → Clusters → Ideas +│ ├── Writer [if writer enabled] +│ │ └── In-page: Queue → Drafts → Images → Review → Published +│ ├── 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 | -|-----------|----------|---------| -| `AppLayout` | `/layouts/AppLayout.tsx` | Main app wrapper | -| `AppSidebar` | `/components/sidebar/AppSidebar.tsx` | Navigation sidebar | -| `AppHeader` | `/components/header/AppHeader.tsx` | Top navigation | -| `PageHeader` | `/components/common/PageHeader.tsx` | Page title section | -| `ContentContainer` | `/components/common/ContentContainer.tsx` | Content wrapper | +1. **KeywordOpportunities** not accessible from navigation +2. **Linker/Optimizer Dashboards** exist but not exposed +3. **Help sub-pages** are placeholders +4. **ContentView** is read-only (no editing capability) +5. Legacy redirects may cause confusion ---- - -## 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 | +See `/PRE-LAUNCH-AUDIT.md` for complete issue list. diff --git a/docs/INDEX.md b/docs/INDEX.md index 5bb8d312..dfe6e8a7 100644 --- a/docs/INDEX.md +++ b/docs/INDEX.md @@ -1,6 +1,6 @@ # IGNY8 Technical Documentation -**Version:** 1.0.5 +**Version:** 1.1.0 **Last Updated:** December 25, 2025 **Purpose:** Complete technical reference for the IGNY8 AI content platform @@ -17,6 +17,7 @@ | Trace a workflow end-to-end | [40-WORKFLOWS/](#workflows) | | Look up model fields | [90-REFERENCE/MODELS.md](90-REFERENCE/MODELS.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 | | [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} @@ -90,8 +126,8 @@ | File | Purpose | |------|---------| | [/CHANGELOG.md](/CHANGELOG.md) | Version history and changes | -| [/RULES.md](/RULES.md) | Documentation maintenance rules | -| [/IGNY8-APP.md](/IGNY8-APP.md) | Executive summary (non-technical) | +| [/IGNY8-APP.md](/IGNY8-APP.md) | Platform overview (non-technical) | +| [/PRE-LAUNCH-AUDIT.md](/PRE-LAUNCH-AUDIT.md) | Known issues and improvement roadmap | --- @@ -99,17 +135,23 @@ | 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/` | | 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/` | | Integrations | `backend/igny8_core/modules/integration/` + `business/integration/` | `frontend/src/pages/Settings/` | | System | `backend/igny8_core/modules/system/` | `frontend/src/pages/Settings/` | | Linker | `backend/igny8_core/modules/linker/` | `frontend/src/pages/Linker/` | | Optimizer | `backend/igny8_core/modules/optimizer/` + `business/optimization/` | `frontend/src/pages/Optimizer/` | -| Publisher | `backend/igny8_core/modules/publisher/` + `business/publishing/` | N/A | -| Auth | `backend/igny8_core/auth/` | `frontend/src/pages/Auth/` | +| Publisher | `backend/igny8_core/modules/publisher/` + `business/publishing/` | N/A (backend only) | +| Auth | `backend/igny8_core/auth/` | `frontend/src/pages/AuthPages/` | | 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 | |-------|------------| -| Backend | Django 5.1, Django REST Framework, PostgreSQL | -| Frontend | React 18, TypeScript, Vite, Tailwind CSS | +| Backend | Django 5.x, Django REST Framework, PostgreSQL 15+ | +| Frontend | React 19, TypeScript, Vite, TailwindCSS | | State | Zustand | | Async | Celery + Redis | -| AI | OpenAI (GPT-4), DALL-E 3, Runware | -| Auth | JWT + Session | -| Deployment | Docker, Caddy | +| AI | OpenAI (GPT-4, GPT-4 Turbo), DALL-E 3, Runware | +| Auth | JWT + Redis Sessions | +| Deployment | Docker, Docker Compose, Caddy |