Book Diffusion — это web-платформа на FastAPI и Vue.js, которая позволяет пользователям генерировать иллюстрации к книгам с помощью искусственного интеллекта.
Проект объединяет анализ текста через ChatGPT и генерацию изображений на основе Stable Diffusion, создавая мост между литературой и визуальным искусством.
🔗 Демо: https://book-diffusion.net
- 🧠 AI-анализ текста: выделение описаний и ключевых сцен через ChatGPT.
- 🎨 Генерация иллюстраций: создание изображений по описанию с использованием Stable Diffusion.
- 🔐 JWT-авторизация: регистрация, вход и управление профилем.
- ☁️ S3-хранилище: загрузка и хранение пользовательских файлов и изображений.
- 🧱 Alembic + SQLAlchemy + PostgreSQL: ORM и миграции для БД.
- 🐳 Docker Compose: весь стек поднимается одной командой.
- 🌐 Nginx (dev): маршрутизация фронтенда и API для локальной разработки.
Backend:
- FastAPI
- SQLAlchemy
- Alembic
- PostgreSQL
- Boto3 (S3)
- Docker
Frontend:
- Vue.js 3
- Vite
- JavaScript / HTML / CSS
- Docker
Other:
- Nginx
- ChatGPT API
- Stable Diffusion
BookDiffusion/
├── backend/ # FastAPI backend
│ ├── book_app/ # Модуль для генерации изображений
│ ├── s3cloud_app/ # Работа с S3
│ ├── sql_app/ # SQLAlchemy + Alembic
│ ├── user_app/ # Авторизация и JWT
│ ├── utils/ # Вспомогательные функции
│ ├── main.py # Точка входа FastAPI
│ ├── Dockerfile
│ └── requirements.txt
│
├── frontend/ # Vue.js frontend
│ ├── src/
│ │ ├── api/ # API-запросы
│ │ ├── components/ # Компоненты интерфейса
│ │ ├── views/ # Основные страницы
│ │ └── main.js
│ └── Dockerfile
│
├── nginx/ # Конфигурация Nginx
├── compose.yaml # Docker Compose для всего проекта
├── logs/ # Логи приложений
└── static/ # Статические файлы
git clone https://github.com/ArtemTaU/BookDiffusion
cd bookdiffusionDB_USER=
DB_PASS=
DB_HOST=
DB_PORT=
DB_NAME=GPT_TOKEN =
alavenir_token =
s3_access_key =
s3_secret_key =
s3_bucket_name =
s3_endpoint_url =
SECRET_KEY =
ALGORITHM =
ACCESS_TOKEN_EXPIRE_MINUTES =
ROOT_PATH = '/api/'docker compose up --build -dПосле сборки контейнеров:
- 🌐 Frontend: http://localhost
- ⚙️ Backend (Swagger): http://localhost/api/docs
Проект состоит из независимых сервисов:
- backend_app — FastAPI, бизнес-логика и API
- frontend_app — интерфейс пользователя на Vue.js
- db — PostgreSQL база данных
- nginx — маршрутизация HTTP-трафика
Все сервисы подключены через общую docker-сеть book_diffusion_network.
---
Разработано с любовью к книгам и технологиям.



