chore: добавить каркас image-platform

- добавлен базовый pnpm workspace для будущих приложений

- добавлена dev-инфраструктура PostgreSQL и MinIO

- добавлены env-пример и базовые правила репозитория

- зафиксированы архитектура, data model и API-контракт

- описан контракт с внешним imgproxy
This commit is contained in:
2026-05-04 22:53:55 +03:00
commit 37592c8b81
13 changed files with 675 additions and 0 deletions

60
README.md Normal file
View File

@@ -0,0 +1,60 @@
# Image Platform
Image Platform - отдельная площадка для управления изображениями, variants, PostgreSQL metadata и S3/Object Storage.
## Статус
Сейчас создан только базовый monorepo и dev-инфраструктура. Приложения `api`, `admin` и `gateway` пока намеренно не созданы.
## Целевая схема
```text
client
-> CDN optional
-> gateway Caddy/Souin hot cache
-> S3/Object Storage persistent variants
-> generator/worker
-> external imgproxy
-> source/original image
```
`imgproxy` всегда считается внешним сервисом и подключается через `IMGPROXY_UPSTREAM`.
## Локальная разработка
В Docker поднимается только базовая инфраструктура:
- PostgreSQL
- MinIO
- MinIO bucket init
Позже нодой будут запускаться:
- NestJS API
- worker
- React/Vite admin
Gateway будет добавлен отдельно позже.
```bash
cp .env.example .env
pnpm install
pnpm infra:up
pnpm infra:config
```
Порты по умолчанию:
| Сервис | URL |
|---|---|
| PostgreSQL | `localhost:5433` |
| MinIO API | `http://localhost:9000` |
| MinIO Console | `http://localhost:9001` |
## Документация
- `docs/architecture.md` - целевая архитектура и ответственность компонентов.
- `docs/development.md` - локальный dev flow.
- `docs/data-model.md` - черновик PostgreSQL модели.
- `docs/api-contract-draft.md` - черновик будущего JSON API.
- `docs/imgproxy-contract.md` - контракт с external imgproxy.