367 lines
7.9 KiB
Markdown
367 lines
7.9 KiB
Markdown
# IGNY8 - AI-Powered SEO Content Platform
|
|
|
|
**Version:** 1.0.0
|
|
**License:** Proprietary
|
|
**Website:** https://igny8.com
|
|
|
|
|
|
---
|
|
|
|
## What is IGNY8?
|
|
|
|
IGNY8 is a full-stack SaaS platform that combines AI-powered content generation with intelligent SEO management. It helps content creators, marketers, and agencies streamline their content workflow from keyword research to published articles.
|
|
|
|
### Key Features
|
|
|
|
- 🔍 **Smart Keyword Management** - Import, cluster, and organize keywords with AI
|
|
- ✍️ **AI Content Generation** - Generate SEO-optimized blog posts using GPT-4
|
|
- 🖼️ **AI Image Creation** - Auto-generate featured and in-article images
|
|
- 🔗 **Internal Linking** - AI-powered link suggestions for SEO
|
|
- 📊 **Content Optimization** - Analyze and score content quality
|
|
- 🔄 **WordPress Integration** - Bidirectional sync with WordPress sites
|
|
- 📈 **Usage-Based Billing** - Credit system for AI operations
|
|
- 👥 **Multi-Tenancy** - Manage multiple sites and teams
|
|
|
|
---
|
|
|
|
## Repository Structure
|
|
|
|
This monorepo contains two main applications and documentation:
|
|
|
|
```
|
|
igny8/
|
|
├── backend/ # Django REST API + Celery
|
|
├── frontend/ # React + Vite SPA
|
|
├── docs/ # Documentation index and topic folders
|
|
└── docker-compose.app.yml # Docker deployment config
|
|
```
|
|
|
|
**Separate Repository:**
|
|
- [igny8-wp-integration](https://github.com/alorig/igny8-wp-integration) - WordPress bridge plugin
|
|
|
|
---
|
|
|
|
## Quick Start
|
|
|
|
### Prerequisites
|
|
|
|
- **Python 3.11+**
|
|
- **Node.js 18+**
|
|
- **PostgreSQL 14+**
|
|
- **Redis 7+**
|
|
- **Docker** (optional, recommended for local development)
|
|
|
|
### Local Development with Docker
|
|
|
|
1. **Clone the repository**
|
|
```powershell
|
|
git clone https://github.com/alorig/igny8-app.git
|
|
cd igny8
|
|
```
|
|
|
|
2. **Set environment variables**
|
|
|
|
Create `.env` file in `backend/` directory:
|
|
```env
|
|
SECRET_KEY=your-secret-key-here
|
|
DEBUG=True
|
|
DATABASE_URL=postgresql://postgres:postgres@db:5432/igny8
|
|
REDIS_URL=redis://redis:6379/0
|
|
OPENAI_API_KEY=your-openai-key
|
|
RUNWARE_API_KEY=your-runware-key
|
|
```
|
|
|
|
3. **Start services**
|
|
```powershell
|
|
docker-compose -f docker-compose.app.yml up --build
|
|
```
|
|
|
|
4. **Access applications**
|
|
- Frontend: http://localhost:5173
|
|
- Backend API: http://localhost:8000
|
|
- API Docs: http://localhost:8000/api/docs/
|
|
- Django Admin: http://localhost:8000/admin/
|
|
|
|
### Manual Setup (Without Docker)
|
|
|
|
#### Backend Setup
|
|
|
|
```powershell
|
|
cd backend
|
|
|
|
# Create virtual environment
|
|
python -m venv .venv
|
|
.\.venv\Scripts\Activate.ps1
|
|
|
|
# Install dependencies
|
|
pip install -r requirements.txt
|
|
|
|
# Run migrations
|
|
python manage.py migrate
|
|
|
|
# Create superuser
|
|
python manage.py createsuperuser
|
|
|
|
# Run development server
|
|
python manage.py runserver
|
|
```
|
|
|
|
In separate terminals, start Celery:
|
|
|
|
```powershell
|
|
# Celery worker
|
|
celery -A igny8_core worker -l info
|
|
|
|
# Celery beat (scheduled tasks)
|
|
celery -A igny8_core beat -l info
|
|
```
|
|
|
|
#### Frontend Setup
|
|
|
|
```powershell
|
|
cd frontend
|
|
|
|
# Install dependencies
|
|
npm install
|
|
|
|
# Start dev server
|
|
npm run dev
|
|
```
|
|
|
|
---
|
|
|
|
## Project Architecture
|
|
|
|
### System Overview
|
|
|
|
```
|
|
User Interface (React)
|
|
↓
|
|
REST API (Django)
|
|
↓
|
|
┌───────┴────────┐
|
|
│ │
|
|
Database AI Engine
|
|
(PostgreSQL) (Celery + OpenAI)
|
|
│
|
|
WordPress Plugin
|
|
(Bidirectional Sync)
|
|
```
|
|
|
|
### Tech Stack
|
|
|
|
**Backend:**
|
|
- Django 5.2+ (Python web framework)
|
|
- Django REST Framework (API)
|
|
- PostgreSQL (Database)
|
|
- Celery (Async task queue)
|
|
- Redis (Message broker)
|
|
- OpenAI API (Content generation)
|
|
|
|
**Frontend:**
|
|
- React 19 (UI library)
|
|
- Vite 6 (Build tool)
|
|
- Zustand (State management)
|
|
- React Router v7 (Routing)
|
|
- Tailwind CSS 4 (Styling)
|
|
|
|
**WordPress Plugin:**
|
|
- PHP 7.4+ (WordPress compatibility)
|
|
- REST API integration
|
|
- Bidirectional sync
|
|
|
|
---
|
|
|
|
## How IGNY8 Works
|
|
|
|
### Content Creation Workflow
|
|
|
|
```
|
|
1. Import Keywords
|
|
↓
|
|
2. AI Clusters Keywords
|
|
↓
|
|
3. Generate Content Ideas
|
|
↓
|
|
4. Create Writer Tasks
|
|
↓
|
|
5. AI Generates Content
|
|
↓
|
|
6. AI Creates Images
|
|
↓
|
|
7. Publish to WordPress
|
|
↓
|
|
8. Sync Status Back
|
|
```
|
|
|
|
### WordPress Integration
|
|
|
|
The WordPress bridge plugin (`igny8-wp-integration`) creates a bidirectional connection:
|
|
|
|
- **IGNY8 → WordPress:** Publish AI-generated content to WordPress
|
|
- **WordPress → IGNY8:** Sync post status updates back to IGNY8
|
|
|
|
**Setup:**
|
|
1. Install WordPress plugin on your site
|
|
2. Generate API key in IGNY8 app
|
|
3. Connect plugin using email, password, and API key
|
|
4. Plugin syncs automatically
|
|
|
|
---
|
|
|
|
## Documentation
|
|
|
|
Start here: [docs/README.md](./docs/README.md) (index of all topics).
|
|
|
|
Common entry points:
|
|
- App architecture: `docs/igny8-app/IGNY8-APP-ARCHITECTURE.md`
|
|
- Backend architecture: `docs/backend/IGNY8-BACKEND-ARCHITECTURE.md`
|
|
- Planner backend detail: `docs/backend/IGNY8-PLANNER-BACKEND.md`
|
|
- Writer backend detail: `docs/backend/IGNY8-WRITER-BACKEND.md`
|
|
- Automation: `docs/automation/AUTOMATION-REFERENCE.md`
|
|
- Tech stack: `docs/tech-stack/00-SYSTEM-ARCHITECTURE-MASTER-REFERENCE.md`
|
|
- API: `docs/API/API-COMPLETE-REFERENCE-LATEST.md`
|
|
- Billing & Credits: `docs/billing/billing-account-final-plan-2025-12-05.md`
|
|
- App guides: `docs/igny8-app/` (planner/writer workflows, taxonomy, feature modification)
|
|
- WordPress: `docs/wp/` (plugin integration and sync)
|
|
- Docs changelog: `docs/CHANGELOG.md`
|
|
|
|
---
|
|
|
|
## Development Workflow
|
|
|
|
### Running Tests
|
|
|
|
```powershell
|
|
# Backend tests
|
|
cd backend
|
|
python manage.py test
|
|
|
|
# Frontend tests
|
|
cd frontend
|
|
npm run test
|
|
```
|
|
|
|
### Code Quality
|
|
|
|
```powershell
|
|
# Frontend linting
|
|
cd frontend
|
|
npm run lint
|
|
```
|
|
|
|
### Building for Production
|
|
|
|
```powershell
|
|
# Backend
|
|
cd backend
|
|
python manage.py collectstatic
|
|
|
|
# Frontend
|
|
cd frontend
|
|
npm run build
|
|
```
|
|
|
|
---
|
|
|
|
## API Overview
|
|
|
|
**Base URL:** `https://api.igny8.com/api/v1/`
|
|
|
|
**Authentication:** JWT Bearer token
|
|
|
|
**Key Endpoints:**
|
|
- `/auth/login/` - User authentication
|
|
- `/planner/keywords/` - Keyword management
|
|
- `/planner/clusters/` - Keyword clusters
|
|
- `/writer/tasks/` - Content tasks
|
|
- `/writer/content/` - Generated content
|
|
- `/integration/integrations/` - WordPress integrations
|
|
|
|
**Interactive Docs:**
|
|
- Swagger UI: https://api.igny8.com/api/docs/
|
|
- ReDoc: https://api.igny8.com/api/redoc/
|
|
|
|
See [API-COMPLETE-REFERENCE.md](./master-docs/API-COMPLETE-REFERENCE.md) for full documentation.
|
|
|
|
---
|
|
|
|
## Multi-Tenancy
|
|
|
|
IGNY8 supports complete account isolation:
|
|
|
|
```
|
|
Account (Organization)
|
|
├── Users (with roles: owner, admin, editor, viewer)
|
|
├── Sites (multiple WordPress sites)
|
|
└── Sectors (content categories)
|
|
└── Keywords, Clusters, Content
|
|
```
|
|
|
|
All data is automatically scoped to the authenticated user's account.
|
|
|
|
---
|
|
|
|
## Contributing
|
|
|
|
This is a private repository. For internal development:
|
|
|
|
1. Create feature branch: `git checkout -b feature/your-feature`
|
|
2. Make changes and test thoroughly
|
|
3. Commit: `git commit -m "Add your feature"`
|
|
4. Push: `git push origin feature/your-feature`
|
|
5. Create Pull Request
|
|
|
|
---
|
|
|
|
## Deployment
|
|
|
|
### Production Deployment
|
|
|
|
1. **Set production environment variables**
|
|
2. **Build frontend:** `npm run build`
|
|
3. **Collect static files:** `python manage.py collectstatic`
|
|
4. **Run migrations:** `python manage.py migrate`
|
|
5. **Use docker-compose:** `docker-compose -f docker-compose.app.yml up -d`
|
|
|
|
### Environment Variables
|
|
|
|
Required for production:
|
|
|
|
```env
|
|
SECRET_KEY=<random-secret-key>
|
|
DEBUG=False
|
|
ALLOWED_HOSTS=api.igny8.com,app.igny8.com
|
|
DATABASE_URL=postgresql://user:pass@host:5432/dbname
|
|
REDIS_URL=redis://host:6379/0
|
|
OPENAI_API_KEY=<openai-key>
|
|
RUNWARE_API_KEY=<runware-key>
|
|
USE_SECURE_COOKIES=True
|
|
```
|
|
|
|
---
|
|
|
|
## Support
|
|
|
|
For support and questions:
|
|
- Check [MASTER_REFERENCE.md](./MASTER_REFERENCE.md) for detailed documentation
|
|
- Review API docs at `/api/docs/`
|
|
- Contact development team
|
|
|
|
---
|
|
|
|
## License
|
|
|
|
Proprietary. All rights reserved.
|
|
|
|
---
|
|
|
|
## Changelog
|
|
|
|
See [CHANGELOG.md](./CHANGELOG.md) for version history and updates.
|
|
|
|
---
|
|
|
|
**Built with ❤️ by the IGNY8 team**
|
|
# Test commit - Mon Dec 15 07:18:54 UTC 2025
|