# МОНИКИ — платные услуги Сайт и CMS платных медицинских услуг КДЦ МОНИКИ: каталог услуг и врачей, запись на приём, акции, новости, личный кабинет пациента и оплата через СБП. Репозиторий: [Moniki_uslugi](https://git.myunion.pro/Alex/Moniki_uslugi) на [git.myunion.pro](https://git.myunion.pro/). Текущая версия: **v1.0.8** (см. [CHANGELOG.md](CHANGELOG.md)). ## Что внутри Монорепозиторий `pnpm` с двумя приложениями Next.js 15: | Пакет | Назначение | | --- | --- | | `apps/web` | Публичный сайт (`:3000`): каталог, врачи, акции, новости, запись, личный кабинет | | `apps/cms` | Админка Payload CMS 3 (`:3001`): контент, медиа, пользователи, настройки | | `packages/shared` | Общие типы и утилиты | База данных — PostgreSQL. Локально можно поднять через `docker-compose.yml`. ### Сайт - Каталог услуг и прайс, специальности, карточки врачей - Два филиала: КДЦ МОНИКИ (Щепкина) и Реутов - Акции и новости - Главные баннеры: картинка или видео (воспроизведение по клику) - Онлайн-запись на приём - Документы (в т.ч. договор на платные услуги) - Мультиязычность: русский, английский, белорусский, таджикский, киргизский, китайский (`next-intl`) - Личный кабинет пациента ### CMS - Коллекции: услуги, врачи, специальности, филиалы, баннеры, акции, новости, документы, медиа, пользователи - Глобальные настройки сайта (контакты, реквизиты, тексты) - Загрузка изображений и видео - Сид-скрипты прайса, врачей, баннеров и акций ### Интеграции (через переменные окружения) - СБП — оплата - Resend — почта - SMS-провайдер — уведомления Секреты в репозиторий **не входят**. Реальные логины, пароли, ключи API и строки подключения хранятся только в локальных `.env` / `.env.local` (они в `.gitignore`). ## Быстрый старт Нужны Node.js 20+, pnpm 10 и PostgreSQL 16. ```bash pnpm install cp apps/cms/.env.example apps/cms/.env cp apps/web/.env.example apps/web/.env.local # Заполните DATABASE_URI и PAYLOAD_SECRET своими значениями pnpm --filter @moniki/cms generate:types pnpm --filter @moniki/cms generate:importmap pnpm seed pnpm dev ``` - Сайт: http://localhost:3000 - CMS: http://localhost:3001/admin Локальную PostgreSQL: ```bash docker compose up -d postgres ``` Учётные данные для локальной разработки создаёт `pnpm seed`. Они не публикуются в этом README. ## Версии Теги SemVer: `vMAJOR.MINOR.PATCH`. История — в `CHANGELOG.md`. ```bash git tag -l git checkout v1.0.0 ``` ## Структура ``` apps/web публичный сайт apps/cms Payload CMS packages/shared общее docker-compose.yml PostgreSQL для разработки ``` ## Что не коммитится - `.env`, `.env.local` и любые файлы с секретами - `node_modules`, сборки `.next` - загруженные медиа CMS (`media/`, `uploads/`) - сгенерированные `payload-types.ts` и `importMap.js`