Skip to content

Репозиторий ​

Три приложения и документация к ним.

КаталогКто им пользуетсяЛокальный адрес
appГость и владелецlocalhost:4101
adminОператорlocalhost:4100
apiОба интерфейса и агентlocalhost:4133
docsКарта продукта, VitePresslocalhost:4180

Порты специально не 3000 и не 3333. Эти адреса уже заняты другими локальными проектами, а Nuxt при занятом порте молча переезжает в диапазон 3000–3100. Postgres слушает 5433, не 5432, по той же причине. Внутри продакшен-контейнера API остаётся на 3333: туда смотрит nginx, и этот порт наружу не торчит.

Зависимости ставит Bun, lockfile — bun.lock в каждом каталоге. Процесс API, сайта и админки — Node. Документация — VitePress. Nest и Playwright на Bun как на среде исполнения не переводились.

Поднять локально: из корня make setup, затем make dev. Первая команда заканчивается. Вторая остаётся в терминале и поднимает все четыре адреса выше. Orca ждёт только первую. Подробности для агентов — в AGENTS.md.

Слои внутри API и панелей разложены по CleanSlice: домен не знает о HTTP, данные не знают о домене. Схема Prisma живёт кусками рядом со слайсами и сшивается перед миграцией. Сшитый файл руками не правят.

Панели — Nuxt, без серверного рендера. В проде они становятся статикой. Клиент API в них сгенерирован и закоммичен, потому что при сборке образа спецификации OpenAPI рядом нет.

Bonsite — маленькие сайты для ваших больших идей.