Skip to content

Latest commit

 

History

56 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


🎥 Демонстрация работы

Ниже представлен видеоролик с демонстрацией работы сервиса. Нажмите на изображение, чтобы посмотреть:

Демонстрация работы проекта

⏱ Таймкоды

  • 00:00 — [Вход в сервис]
  • 00:10 — [Начало создания проекта]
  • 00:33 — [Начало генерации проекта]
  • 01:49 — [Страница редактирования проекта]
  • 01:57 — [Выбор элемента для редактирования и написание запроса для ИИ]
  • 02:45 — [Ручное редактирование кода]
  • 03:56 — [Выбор предыдущей версии проекта]
  • 04:38 — [Экспорт сделанного проекта]
  • 04:45 — [Функционал администратора]

🛠 Технологический стек

Frontend

  • React 18 + TypeScript
  • Vite — быстрый сборщик
  • Zustand — управление состоянием
  • Tailwind CSS — стилизация

Backend

  • FastAPI (Python) — высокопроизводительный API
  • PostgreSQL + SQLAlchemy (Alembic) — база данных
  • Celery + Redis — фоновые задачи (генерация, сборка, деплой)
  • MinIO (S3) — хранение пользовательских файлов и ассетов

Инфраструктура & LLM

  • Docker & Kubernetes — контейнеризация и оркестрация
  • Keycloak — Identity and Access Management
  • LLM API — микросервис для взаимодействия с языковыми моделями (Llama Engine)

📂 Структура проекта

├── backend/          # FastAPI сервер, логика, Celery воркеры
├── frontend/         # React приложение (Web IDE, дашборд)
├── llm-api/          # Микросервис для работы с LLM (Llama)
├── infrastructure/   # Конфигурации Docker Compose, Kubernetes, Nginx
└── assets/           # Медиафайлы для документации

Эндпоинты в Swagger

Swagger1 Swagger2 Swagger3 Swagger4

Описание эндпоинтов

admin (Панель администратора)

  • GET /api/v1/admin/stats — Сводная статистика платформы (количество пользователей, проектов по статусам, шаблонов).
  • GET /api/v1/admin/templates — Получение списка всех шаблонов, включая неактивные (доступно только админу).
  • GET /api/v1/admin/users — Список всех пользователей платформы.
  • GET /api/v1/admin/users/{user_id} — Получение детальной информации о конкретном пользователе.
  • PATCH /api/v1/admin/users/{user_id} — Изменение данных или роли пользователя.
  • DELETE /api/v1/admin/users/{user_id} — Полное удаление пользователя из системы.

assets (Медиафайлы и ресурсы)

  • POST /api/v1/assets/upload — Загрузка файла (например, картинки) в MinIO/S3 и создание записи в БД.
  • GET /api/v1/assets/ — Получение списка загруженных ассетов пользователя.
  • DELETE /api/v1/assets/{asset_id} — Удаление файла из хранилища и БД.

auth (Авторизация и сессии)

  • POST /api/v1/auth/register — Регистрация нового пользователя по email и паролю.
  • GET /api/v1/auth/me — Получение данных текущего авторизованного пользователя.
  • POST /api/v1/auth/sync — Синхронизация данных пользователя (например, подтягивание профиля из Keycloak).
  • DELETE /api/v1/auth/me — Удаление собственного аккаунта.

users (Профиль пользователя)

  • GET /api/v1/users/me — Дублирует auth/me (получение профиля).
  • PATCH /api/v1/users/me — Обновление данных профиля (имя, настройки и т.д.).

editor (Web IDE)

  • GET /api/v1/editor/files — Получение файлового дерева проекта для отображения в редакторе.
  • POST /api/v1/editor/edit — ИИ-редактирование: отправка запроса (промпта) к LLM для изменения выбранного элемента/файла.
  • GET /api/v1/editor/file — Чтение содержимого конкретного файла исходного кода.
  • PUT /api/v1/editor/file — Ручное сохранение изменений в конкретном файле.
  • POST /api/v1/editor/rebuild — Триггер пересборки/перезапуска проекта в редакторе после внесения изменений.

generation (Генерация кода ИИ)

  • POST /api/v1/generation — Постановка в Celery-очередь асинхронной задачи на полную генерацию кода проекта.
  • GET /api/v1/generation/{project_id}/status — Поллинг текущего статуса асинхронной генерации для лоадера на фронте.

projects (Управление проектами)

  • GET /api/v1/projects/ — Список всех проектов текущего пользователя.
  • POST /api/v1/projects/ — Создание новой записи о проекте (инициализация пустого проекта).
  • GET /api/v1/projects/{project_id} — Полные данные проекта (метаданные, настройки).
  • PATCH /api/v1/projects/{project_id} — Обновление параметров проекта (например, изменение названия).
  • DELETE /api/v1/projects/{project_id} — Удаление проекта со всеми связанными файлами и снепшотами.
  • POST /api/v1/projects/{project_id}/save — Фиксация изменений в проекте (ручное сохранение).
  • GET /api/v1/projects/{project_id}/export — Генерация zip-архива исходного кода проекта и отдача файла для скачивания.
  • GET /api/v1/projects/{project_id}/status — Проверка готовности/состояния проекта.

snapshots (История версий)

  • GET /api/v1/snapshots/{project_id} — Получение истории всех коммитов/снепшотов для проекта (таймлайн версий).
  • POST /api/v1/snapshots/{snapshot_id}/restore — Откат проекта к одному из предыдущих снепшотов из истории.

templates (Шаблоны начальных проектов)

  • GET /api/v1/templates/ — Получение списка доступных шаблонов при создании нового проекта.
  • POST /api/v1/templates/ — Создание нового шаблона.
  • PUT /api/v1/templates/{template_id} — Редактирование метаданных/настроек существующего шаблона.
  • DELETE /api/v1/templates/{template_id} — Удаление шаблона.

health

  • GET /api/health — Базовый healthcheck самого FastAPI-приложения.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages