Files
Moniki_uslugi/README.md
T

97 lines
3.9 KiB
Markdown

# МОНИКИ — платные услуги
Сайт и CMS платных медицинских услуг КДЦ МОНИКИ: каталог услуг и врачей, запись на приём, акции, новости, личный кабинет пациента и оплата через СБП.
Репозиторий: [Moniki_uslugi](https://git.myunion.pro/Alex/Moniki_uslugi) на [git.myunion.pro](https://git.myunion.pro/).
Текущая версия: **v1.0.10** (см. [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`