Files
igny8/README.md
alorig af6b29b8f8 docs
2025-11-24 07:18:15 +05:00

359 lines
7.7 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:
```
igny8/
├── backend/ # Django REST API + Celery
├── frontend/ # React + Vite SPA
├── master-docs/ # Architecture documentation
└── 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
Comprehensive documentation is available in the `master-docs/` directory:
- **[MASTER_REFERENCE.md](./MASTER_REFERENCE.md)** - Complete system architecture and navigation
- **[API-COMPLETE-REFERENCE.md](./master-docs/API-COMPLETE-REFERENCE.md)** - Full API documentation
- **[02-APPLICATION-ARCHITECTURE.md](./master-docs/02-APPLICATION-ARCHITECTURE.md)** - System design
- **[04-BACKEND-IMPLEMENTATION.md](./master-docs/04-BACKEND-IMPLEMENTATION.md)** - Backend details
- **[03-FRONTEND-ARCHITECTURE.md](./master-docs/03-FRONTEND-ARCHITECTURE.md)** - Frontend details
- **[WORDPRESS-PLUGIN-INTEGRATION.md](./master-docs/WORDPRESS-PLUGIN-INTEGRATION.md)** - Plugin integration guide
---
## 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**