issues/27: sync prod from k3s-test
This commit is contained in:
@@ -194,9 +194,8 @@ Hotfix **не** мержится через `test` → `stage` целиком
|
||||
|
||||
### Test — **работает сейчас**
|
||||
|
||||
| Триггер | Тег `*-test` на ветке `test` (релиз) **или** ручной запуск |
|
||||
| Тесты вручную | Gitea → **Actions** → **Run workflow** → ветка `prod` / `test` / `stage` |
|
||||
| Pipeline на тег | test → build-and-push → deploy-gitops |
|
||||
| Триггер | Тег `*-test` на ветке `test` |
|
||||
| Pipeline | test → build-and-push → deploy-gitops |
|
||||
| GitOps | `apps/{app}/values-test.yaml` в `sova-deploy` |
|
||||
| ArgoCD | `backend-test`, `cabinet-test`, … |
|
||||
| URLs | `*.test.sova.local`, `docs.sova.local` |
|
||||
|
||||
@@ -22,19 +22,9 @@
|
||||
|
||||

|
||||
|
||||
## 3. Gitea Actions — когда запускается pipeline
|
||||
## 3. Gitea Actions — pipeline на push тега
|
||||
|
||||
**Feature-ветки** (`issues/27`, `feature/*`) — **не запускают** CI автоматически.
|
||||
|
||||
| Событие | Что происходит |
|
||||
|---------|----------------|
|
||||
| Push в `issues/27` / PR | ничего |
|
||||
| **Run workflow** вручную (Actions) | только job **test**, ветка `prod` / `test` / `stage` |
|
||||
| Push **тега** `backend-v*-test` и т.п. | полный pipeline: test → build → deploy-gitops |
|
||||
|
||||
Ручной прогон тестов: **Actions** → workflow **backend-ci-cd** → **Run workflow** → выбрать `test` (или `prod` / `stage`).
|
||||
|
||||
Workflow на push тега:
|
||||
Workflow в каждом app-репозитории:
|
||||
|
||||
1. **test** — unit/build проверки
|
||||
2. **build-and-push** — образ в Container Registry
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Визуальные гайды test-контура {#overview}
|
||||
|
||||
Пошаговые инструкции со **скриншотами** реального UI песочницы: Gitea CI, ArgoCD, Grafana, Prometheus и Loki.
|
||||
Пошаговые инструкции со **скриншотами** реального UI песочницы: Gitea CI, ArgoCD, Grafana, Prometheus, Loki, **Redmine**.
|
||||
|
||||
Перед просмотром добавьте в `/etc/hosts` IP VM (см. `./scripts/print-urls.sh`):
|
||||
|
||||
```
|
||||
192.168.252.2 git.sova.local argocd.sova.local grafana.sova.local prometheus.sova.local docs.sova.local
|
||||
192.168.252.2 git.sova.local argocd.sova.local grafana.sova.local prometheus.sova.local docs.sova.local redmine.sova.local
|
||||
```
|
||||
|
||||
## Разделы
|
||||
@@ -15,6 +15,7 @@
|
||||
| [Gitea: теги и CI/CD](./gitea-ci) | push тега → Actions → registry → deploy-gitops |
|
||||
| [ArgoCD: приложения](./argocd) | Applications, sync, backend vs sova-root vs data-test |
|
||||
| [Grafana, Prometheus, Loki](./monitoring) | метрики, targets, логи в Explore |
|
||||
| [Redmine](./redmine) | задачи, Git-flow, интеграция с Gitea, скриншоты UI |
|
||||
|
||||
## Обновление скриншотов
|
||||
|
||||
|
||||
@@ -0,0 +1,198 @@
|
||||
# Redmine в test-контуре
|
||||
|
||||
> Внедрено в test-контуре **29–30.05.2026**. Sentry из контура **удалён** (≈10 GiB RAM) — для ошибок приложений используйте [Grafana → Loki](./monitoring.md).
|
||||
|
||||
**Redmine** — issue tracker для задач разработки. В test-контуре он связан с Git-flow: коммиты с `Refs #N` / `Fixes #N` можно привязать к задачам; интеграция с Gitea настраивается вручную (см. ниже).
|
||||
|
||||
## URL и доступы
|
||||
|
||||
| Сервис | URL | Логин | Пароль |
|
||||
|--------|-----|-------|--------|
|
||||
| **Redmine** | http://redmine.sova.local | `admin` | `SovaRedmineTest2026!` |
|
||||
| Gitea | http://git.sova.local | `gitea_admin` | `.generated/platform-credentials.env` |
|
||||
|
||||
Добавить в `/etc/hosts` (IP из `multipass info sova-test` или `./scripts/print-urls.sh`):
|
||||
|
||||
```
|
||||
192.168.252.2 redmine.sova.local
|
||||
```
|
||||
|
||||
Пароль test-контура также в `sova-deploy/apps/redmine/values-test.yaml`.
|
||||
|
||||
---
|
||||
|
||||
## Интерфейс
|
||||
|
||||

|
||||
|
||||
*Страница входа Redmine.*
|
||||
|
||||

|
||||
|
||||
*Главная Redmine: проекты и задачи.*
|
||||
|
||||
### Проект и задача по умолчанию
|
||||
|
||||
После bootstrap (`./scripts/bootstrap-redmine.sh`):
|
||||
|
||||
| Объект | Значение |
|
||||
|--------|----------|
|
||||
| Проект | **Sova Platform** (`sova-platform`) |
|
||||
| Пример задачи | [#27 CRUD для новых сущностей в API](http://redmine.sova.local/issues/27) |
|
||||
|
||||
Задача #27 описывает CRUD для сущностей (новости, акции, заболевания, центры, статьи, услуги) — эталон для работы по Git-flow в test-контуре.
|
||||
|
||||
---
|
||||
|
||||
## Архитектура
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
subgraph gitops [GitOps]
|
||||
SD[sova-deploy main]
|
||||
RT[ArgoCD redmine-test]
|
||||
SP[ArgoCD sova-projects]
|
||||
end
|
||||
subgraph cluster [k3s]
|
||||
RM[Redmine pod]
|
||||
PG[(PostgreSQL redmine_test)]
|
||||
MP[Mailpit SMTP]
|
||||
ING[Ingress redmine.sova.local]
|
||||
end
|
||||
SD --> RT --> RM
|
||||
SD --> SP
|
||||
RM --> PG
|
||||
RM --> MP
|
||||
ING --> RM
|
||||
```
|
||||
|
||||
| Компонент | Решение |
|
||||
|-----------|---------|
|
||||
| Chart | `sova-deploy/apps/redmine/` → Bitnami wrapper |
|
||||
| Образ | `bitnamilegacy/redmine:6.0.5-debian-12-r0` |
|
||||
| Namespace | `redmine` |
|
||||
| PostgreSQL | БД `redmine_test` в `sova-data-test` (общий `postgresql-test`) |
|
||||
| SMTP | Mailpit `mailpit.sova-mocks.svc.cluster.local:1025` (письма в UI Mailpit) |
|
||||
| Ingress | `redmine.sova.local` (`deploy-platform-ingress.sh`) |
|
||||
| ArgoCD | Application `redmine-test` в `argocd/apps/platform-tools.yaml` |
|
||||
| AppProject | namespace `redmine` в `argocd/projects/sova-project.yaml`, GitOps через `sova-projects` |
|
||||
|
||||
---
|
||||
|
||||
## Деплой
|
||||
|
||||
### Через ArgoCD (основной путь)
|
||||
|
||||
После push `sova-deploy` в Gitea приложение `redmine-test` синхронизируется автоматически (`sova-root` → `platform-tools.yaml`).
|
||||
|
||||
Проверка:
|
||||
|
||||
```bash
|
||||
kubectl get application redmine-test -n argocd
|
||||
kubectl get pods -n redmine
|
||||
curl -s -o /dev/null -w "%{http_code}\n" http://redmine.sova.local/
|
||||
```
|
||||
|
||||
### Вручную (bootstrap кластера)
|
||||
|
||||
```bash
|
||||
cd k3s-test
|
||||
source ./scripts/use-kubeconfig.sh
|
||||
|
||||
# Helm + ingress + ArgoCD Application
|
||||
./scripts/deploy-redmine.sh
|
||||
|
||||
# Проект sova-platform + задача #27 через REST API
|
||||
./scripts/deploy-redmine.sh --bootstrap
|
||||
# или отдельно:
|
||||
./scripts/bootstrap-redmine.sh
|
||||
```
|
||||
|
||||
`bootstrap-redmine.sh`:
|
||||
|
||||
1. Включает REST API в PostgreSQL (`rest_api_enabled`).
|
||||
2. Создаёт проект `sova-platform`, если его нет.
|
||||
3. Создаёт задачу **#27** с описанием CRUD (если ещё не существует).
|
||||
|
||||
---
|
||||
|
||||
## Git-flow и коммиты
|
||||
|
||||
Регламент сообщений коммитов (связь с Redmine):
|
||||
|
||||
```
|
||||
feat(adminpanel): content CRUD (Refs #27)
|
||||
fix(cabinet): registration on test contour (Fixes #45)
|
||||
```
|
||||
|
||||
| Маркер | Эффект |
|
||||
|--------|--------|
|
||||
| `Refs #N` | ссылка на задачу; при webhook — ревизия в Redmine |
|
||||
| `Fixes #N` | кликабельная ссылка в Gitea (external tracker) |
|
||||
|
||||
Ветки: `prod` / `test` / `stage` — см. [Git-flow](../git-flow.md) и [Gitea CI](./gitea-ci.md).
|
||||
|
||||
---
|
||||
|
||||
## Интеграция Gitea ↔ Redmine
|
||||
|
||||
Автоматизация через Gitea API **не включена** — только инструкции:
|
||||
|
||||
```bash
|
||||
./scripts/setup-gitea-redmine-integration.sh
|
||||
```
|
||||
|
||||
Скрипт выводит шаги:
|
||||
|
||||
1. **External Issue Tracker** (каждый repo: backend, adminpanel, cabinet, docs)
|
||||
URL: `http://redmine.sova.local/issues/{index}`
|
||||
|
||||
2. **Webhook** (Push → ревизии в задаче)
|
||||
URL: `http://redmine.sova.local/github_hook?project_id=<id>`
|
||||
Требует plugin `redmine_github_hook` в custom-образе `sova-redmine/` (опционально, не в базовом деплое).
|
||||
|
||||
Базовый test-контур работает без webhook: задачи создаются в UI или через `bootstrap-redmine.sh`, коммиты помечаются `Refs #N` вручную в сообщении.
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
| Проблема | Решение |
|
||||
|----------|---------|
|
||||
| `redmine-test` InvalidSpecError (namespace) | Применить `argocd/projects/sova-project.yaml`; проверить ArgoCD app `sova-projects` |
|
||||
| Redmine ImagePullBackOff | `global.security.allowInsecureImages: true`; образ `bitnamilegacy/redmine` |
|
||||
| DB connection error | БД `redmine_test` в `sova-data-test`; job `db-init` / SQL в `data/test/` |
|
||||
| HTTP 502 / pod CrashLoop | `kubectl logs -n redmine deploy/redmine-test`; проверить PostgreSQL |
|
||||
| REST API 403 | `./scripts/bootstrap-redmine.sh` включает `rest_api_enabled` |
|
||||
| Письма не приходят | Ожидаемо в test: SMTP → Mailpit, не реальная почта |
|
||||
|
||||
Проверка БД:
|
||||
|
||||
```bash
|
||||
kubectl exec -n sova-data-test postgresql-test-0 -- \
|
||||
env PGPASSWORD=sova_test_pass psql -U sova_test -d redmine_test -c '\dt' | head
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Файлы в репозитории
|
||||
|
||||
| Путь | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/apps/redmine/` | Helm chart + `values-test.yaml` |
|
||||
| `sova-deploy/argocd/apps/platform-tools.yaml` | Application `redmine-test` |
|
||||
| `sova-deploy/argocd/apps/sova-projects.yaml` | GitOps для AppProject (namespace `redmine`) |
|
||||
| `scripts/deploy-redmine.sh` | Helm + ingress + ArgoCD |
|
||||
| `scripts/bootstrap-redmine.sh` | Проект + задача #27 |
|
||||
| `scripts/setup-gitea-redmine-integration.sh` | Инструкции Gitea ↔ Redmine |
|
||||
| `sova-redmine/` | Custom image с `redmine_github_hook` (опционально) |
|
||||
|
||||
---
|
||||
|
||||
## Связанные разделы
|
||||
|
||||
- [Grafana / Loki](./monitoring.md) — логи pod'ов (вместо Sentry)
|
||||
- [Git-flow](../git-flow.md) — ветки и PR
|
||||
- [Gitea CI](./gitea-ci.md) — pipeline и теги
|
||||
- [ArgoCD: приложения](./argocd.md) — sync и health
|
||||
- [Практическое руководство](../../../presentation-practical-guide.md)
|
||||
@@ -12,6 +12,7 @@
|
||||
- [Gitea: теги и CI/CD](./guides/gitea-ci)
|
||||
- [ArgoCD: приложения](./guides/argocd)
|
||||
- [Grafana / Prometheus / Loki](./guides/monitoring)
|
||||
- [Redmine](./guides/redmine) — задачи и Git-flow *(30.05.2026)*
|
||||
|
||||
### Текстовая документация
|
||||
|
||||
@@ -20,4 +21,13 @@
|
||||
- [Система тегов CI/CD](./tags) — формат тегов и release-скрипт
|
||||
- [ArgoCD: sova-root и data-test](./argocd-apps) — зачем эти приложения и почему «нельзя войти»
|
||||
|
||||
### Справочник файлов k3s-test
|
||||
|
||||
Полный перечень **~1085 файлов** с назначением каждого:
|
||||
|
||||
- [Обзор справочника](./k3s-test-reference/) — дерево каталогов, типовые сценарии
|
||||
- [scripts/](./k3s-test-reference/scripts) · [sova-deploy/](./k3s-test-reference/sova-deploy) · [sova-platform/](./k3s-test-reference/sova-platform)
|
||||
- [sova-mocks/](./k3s-test-reference/sova-mocks) · [sova-redmine/](./k3s-test-reference/sova-redmine)
|
||||
- [sova-backend/](./k3s-test-reference/sova-backend) · [sova-adminpanel/](./k3s-test-reference/sova-adminpanel) · [sova-cabinet/](./k3s-test-reference/sova-cabinet) · [sova-docs/](./k3s-test-reference/sova-docs-repo)
|
||||
|
||||
Исходники: репозиторий `sova/docs` в Gitea, локально — `k3s-test/sova-docs/`.
|
||||
|
||||
@@ -0,0 +1,365 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Generate k3s-test file reference markdown from repo tree."""
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
import re
|
||||
from pathlib import Path
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[4] # k3s-test/
|
||||
OUT = Path(__file__).resolve().parent
|
||||
|
||||
SKIP_PARTS = {
|
||||
"node_modules", ".git", "vendor", "dist", ".vitepress/cache",
|
||||
".vitepress/dist", ".terraform", ".tmp-chart", ".phpunit",
|
||||
}
|
||||
SKIP_NAMES = {".DS_Store"}
|
||||
|
||||
|
||||
def should_skip(rel: str) -> bool:
|
||||
parts = Path(rel).parts
|
||||
if any(p in SKIP_PARTS for p in parts):
|
||||
return True
|
||||
if Path(rel).name in SKIP_NAMES:
|
||||
return True
|
||||
if "public/build" in rel:
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
def describe(rel: str) -> str:
|
||||
name = Path(rel).name
|
||||
p = rel.lower()
|
||||
|
||||
# Extension-based defaults
|
||||
ext = Path(rel).suffix.lower()
|
||||
ext_map = {
|
||||
".sh": "Shell-скрипт",
|
||||
".py": "Python-скрипт",
|
||||
".yaml": "YAML-конфиг / Helm / K8s",
|
||||
".yml": "YAML-конфиг / docker-compose",
|
||||
".md": "Документация Markdown",
|
||||
".json": "JSON-данные / конфиг",
|
||||
".sql": "SQL (schema или seed)",
|
||||
".php": "PHP (Symfony)",
|
||||
".twig": "Twig-шаблон",
|
||||
".js": "JavaScript",
|
||||
".jsx": "React-компонент",
|
||||
".scss": "SCSS-стили",
|
||||
".css": "CSS-стили",
|
||||
".svg": "SVG-иконка / изображение",
|
||||
".png": "PNG-изображение",
|
||||
".jpg": "JPEG-изображение",
|
||||
".ico": "Favicon",
|
||||
".pdf": "PDF-документ",
|
||||
".pem": "TLS/JWT ключ",
|
||||
".tf": "Terraform",
|
||||
".hcl": "Terraform lock",
|
||||
".tfvars": "Terraform переменные",
|
||||
".tpl": "Helm template partial",
|
||||
".tgz": "Vendored Helm subchart",
|
||||
".lock": "Lockfile (Helm/composer/yarn)",
|
||||
".html": "HTML",
|
||||
".mts": "TypeScript (VitePress config)",
|
||||
".ts": "TypeScript",
|
||||
".mjs": "ES module (Node)",
|
||||
".env": "Переменные окружения",
|
||||
".xml": "XML-конфиг",
|
||||
".zip": "Архив",
|
||||
".tar": "Docker image tarball",
|
||||
".woff": "Web-font",
|
||||
".ttf": "TrueType font",
|
||||
".eot": "Embedded OpenType font",
|
||||
}
|
||||
|
||||
# Known files
|
||||
known = {
|
||||
"readme.md": "Главный README k3s-test",
|
||||
"plan-sentry-redmine.md": "План Redmine (Sentry удалён из контура)",
|
||||
"presentation-practical-guide.md": "Практическое руководство / демо для команды",
|
||||
".gitignore": "Git ignore rules",
|
||||
"dockerfile": "Docker multistage build",
|
||||
"compose.yaml": "Docker Compose (Symfony)",
|
||||
"compose.override.yaml": "Локальные overrides Compose",
|
||||
"docker-compose.yml": "Docker Compose (моки / cabinet dev)",
|
||||
"package.json": "NPM/Yarn зависимости и scripts",
|
||||
"composer.json": "PHP Composer зависимости",
|
||||
"composer.lock": "Composer lockfile",
|
||||
"yarn.lock": "Yarn lockfile",
|
||||
"webpack.config.js": "Webpack Encore конфиг",
|
||||
"vite.config.js": "Vite bundler конфиг",
|
||||
"nginx.conf": "nginx конфиг контейнера",
|
||||
"index.php": "HTTP front controller Symfony",
|
||||
"index.html": "HTML entry (Vite/React)",
|
||||
"console": "Symfony CLI entry",
|
||||
"phpunit": "PHPUnit runner wrapper",
|
||||
"build.yml": "Gitea Actions CI pipeline",
|
||||
"config.mts": "VitePress: nav, sidebar, mermaid",
|
||||
"manifest.json": "Метаданные скриншотов",
|
||||
"env.js": "Runtime API URL (adminpanel)",
|
||||
"entrypoint.sh": "Container entrypoint (env injection)",
|
||||
"all.yaml": "Combined Helm template (Deployment/Service/Ingress)",
|
||||
"values.yaml": "Базовые Helm values",
|
||||
"values-test.yaml": "Overrides для test-контура",
|
||||
"values-stage.yaml": "Overrides для stage-контура",
|
||||
"chart.yaml": "Helm chart metadata",
|
||||
"app-of-apps.yaml": "ArgoCD root Application (sova-root)",
|
||||
"platform-tools.yaml": "ArgoCD: monitoring, Gitea Actions, Redmine",
|
||||
"test-contour.yaml": "ArgoCD: приложения test-контура",
|
||||
"sova-projects.yaml": "ArgoCD GitOps: AppProject definitions",
|
||||
"sova-project.yaml": "ArgoCD AppProject RBAC и namespaces",
|
||||
"db-init-jobs.yaml": "K8s Jobs: schema → seed SQL",
|
||||
"release-tag.sh": "Создать git tag → Gitea CI → GitOps",
|
||||
"bootstrap-multipass.sh": "Полный bootstrap VM + k3s + platform",
|
||||
"deploy-test-stack.sh": "Деплой приложений test-контура",
|
||||
"prepare-db-init.sh": "Генерация schema/seed SQL из monorepo",
|
||||
"sync-from-monorepo.sh": "Синхронизация кода из родительского monorepo",
|
||||
"use-kubeconfig.sh": "export KUBECONFIG=~/.kube/sova-test-config",
|
||||
"print-urls.sh": "URL всех сервисов и пароли platform",
|
||||
"smoke-test.sh": "Smoke-проверки HTTP + kubectl",
|
||||
"testsdk.js": "Stub WrSDK/SmartCaptcha для *.sova.local",
|
||||
"slideshow_controller.js": "Stimulus: lazy import owl.carousel",
|
||||
"services_stub.yaml": "Stub-клиенты SMS/Calltouch/Captcha для test",
|
||||
"services.php": "PHP DI bindings по APP_ENV",
|
||||
}
|
||||
if name.lower() in known:
|
||||
return known[name.lower()]
|
||||
|
||||
script_desc = {
|
||||
"scripts/bootstrap-argocd.sh": "ArgoCD AppProject + Applications (sova-root, data-test, test-contour)",
|
||||
"scripts/bootstrap-gitea-ci-secrets.sh": "Gitea Actions secrets: registry, deploy SSH key",
|
||||
"scripts/bootstrap-gitea-runner.sh": "Установка Gitea Actions runner в k3s",
|
||||
"scripts/bootstrap-gitea.sh": "Bootstrap Gitea: org sova, repos, admin user",
|
||||
"scripts/bootstrap-redmine.sh": "REST API: проект sova-platform + задача #27",
|
||||
"scripts/bootstrap-vm.sh": "Generic VM bootstrap helper",
|
||||
"scripts/build-images.sh": "Сборка Docker-образов всех приложений (local-test/test tag)",
|
||||
"scripts/configure-k3s-registry.sh": "k3s registries.yaml → pull из git.sova.local",
|
||||
"scripts/deploy-monitoring-logs.sh": "Helm: Loki + Promtail (логи в Grafana)",
|
||||
"scripts/deploy-platform-ingress.sh": "Ingress rules: Gitea, ArgoCD, Grafana, Redmine, docs",
|
||||
"scripts/deploy-platform.sh": "Platform stack: ingress, ArgoCD, Gitea, Prometheus/Grafana",
|
||||
"scripts/deploy-redmine.sh": "Helm Redmine + ingress + ArgoCD app redmine-test",
|
||||
"scripts/deploy-sentry-redmine.sh": "Alias → deploy-redmine.sh (Sentry удалён)",
|
||||
"scripts/import-images-to-vm.sh": "docker load .images/*.tar в Multipass VM",
|
||||
"scripts/install-k3s-multipass.sh": "Установка k3s внутри Multipass VM",
|
||||
"scripts/k3d-bootstrap.sh": "k3d cluster + ingress + apps (Mac без Multipass)",
|
||||
"scripts/migrate-monorepo-branch.sh": "Demo: миграция ветки monorepo для issue #27",
|
||||
"scripts/prepare-db-init.py": "Split SQL на schema/seed (helper для prepare-db-init.sh)",
|
||||
"scripts/print-test-users.sh": "Тестовые логины/пароли приложений",
|
||||
"scripts/release-test-tag.sh": "Wrapper → release-tag.sh (backward compat)",
|
||||
"scripts/resize-multipass-vm.sh": "Увеличить CPU/RAM Multipass VM",
|
||||
"scripts/setup-git-flow-branches.sh": "Создать prod/test/stage в Gitea repos",
|
||||
"scripts/setup-gitea-branch-protection.sh": "Branch protection: PR-only на env-ветки",
|
||||
"scripts/setup-gitea-redmine-integration.sh": "Инструкции Gitea ↔ Redmine (manual UI)",
|
||||
"scripts/capture-platform-screenshots/capture.mjs": "Playwright: снять UI platform screenshots",
|
||||
"scripts/capture-platform-screenshots/harness-check.mjs": "Проверка prerequisites screenshot harness",
|
||||
"scripts/capture-platform-screenshots/reg-e2e.mjs": "E2E: сценарий регистрации cabinet",
|
||||
"scripts/capture-platform-screenshots/run.sh": "Entry point: полный pipeline скриншотов",
|
||||
}
|
||||
if rel in script_desc:
|
||||
return script_desc[rel]
|
||||
|
||||
if "wiremock/mappings" in p or "charts/mocks/mappings" in p:
|
||||
stub = name.replace(".json", "").replace("-", " ")
|
||||
return f"WireMock stub: {stub}"
|
||||
if "/migrations/version" in p:
|
||||
return "Doctrine migration"
|
||||
if "/entity/" in p:
|
||||
return f"Doctrine entity: {name.replace('.php', '')}"
|
||||
if "/repository/" in p:
|
||||
return f"Doctrine repository: {name.replace('.php', '')}"
|
||||
if "/controller/" in p and ext == ".php":
|
||||
return f"Symfony controller: {name.replace('.php', '')}"
|
||||
if "/command/" in p and ext == ".php":
|
||||
return f"Console command: {name.replace('.php', '')}"
|
||||
if "/service/" in p and ext == ".php":
|
||||
return f"Service: {name.replace('.php', '')}"
|
||||
if "/dto/" in p or "/dto\\" in p:
|
||||
return f"DTO: {name.replace('.php', '')}"
|
||||
if "/form/" in p and ext == ".php":
|
||||
return f"Form type: {name.replace('.php', '')}"
|
||||
if "/messagehandler/" in p:
|
||||
return f"Messenger handler: {name.replace('.php', '')}"
|
||||
if "/message/" in p and ext == ".php":
|
||||
return f"Messenger message: {name.replace('.php', '')}"
|
||||
if "/controllers/" in p and name.endswith("_controller.js"):
|
||||
return f"Stimulus controller: {name.replace('_controller.js', '')}"
|
||||
if "/pages/" in p and ext == ".jsx":
|
||||
return f"React page: {name.replace('.jsx', '')}"
|
||||
if "/api/api" in p and ext == ".js":
|
||||
return f"RTK Query API slice: {name.replace('.js', '')}"
|
||||
if "/components/" in p and ext == ".jsx":
|
||||
return f"React component: {name.replace('.jsx', '')}"
|
||||
if "/hooks/" in p and ext == ".jsx":
|
||||
return f"React hook: {name.replace('.jsx', '')}"
|
||||
if "/templates/" in p and ext == ".twig":
|
||||
return f"Twig template: {rel.split('templates/')[-1]}"
|
||||
if "/config/packages/" in p:
|
||||
return f"Symfony bundle config: {name}"
|
||||
if "/assets/sass/" in p:
|
||||
return f"SCSS entry: {name}"
|
||||
if "/screenshots/" in p and ext == ".png":
|
||||
return f"Скриншот UI: {name}"
|
||||
if "/forms-screenshots/" in p and ext == ".png":
|
||||
return f"Скриншот формы cabinet: {name}"
|
||||
if "/backend-scenarios/" in p:
|
||||
return f"Сценарий backend: {name.replace('.md', '')}"
|
||||
if "/apps/" in p and ext == ".md":
|
||||
return f"Документация приложения: {name.replace('.md', '')}"
|
||||
if "/infrastructure/" in p and ext == ".md":
|
||||
return f"Инфра-документация: {name.replace('.md', '')}"
|
||||
if "platform-credentials.env" in p:
|
||||
return "Сгенерированные креды platform (не в git)"
|
||||
if ".images/" in p and ext == ".tar":
|
||||
return f"Saved Docker image для import-images-to-vm.sh"
|
||||
if "ci-ssh/" in p:
|
||||
return "SSH-ключ Gitea Actions → sova-deploy GitOps"
|
||||
|
||||
if ext in ext_map:
|
||||
return ext_map[ext]
|
||||
return "Файл проекта"
|
||||
|
||||
|
||||
def collect(prefix: str) -> list[tuple[str, str]]:
|
||||
base = ROOT / prefix if prefix else ROOT
|
||||
files: list[tuple[str, str]] = []
|
||||
for path in sorted(base.rglob("*")):
|
||||
if not path.is_file():
|
||||
continue
|
||||
rel = path.relative_to(ROOT).as_posix()
|
||||
if should_skip(rel):
|
||||
continue
|
||||
if prefix and not rel.startswith(prefix.rstrip("/")):
|
||||
continue
|
||||
files.append((rel, describe(rel)))
|
||||
return files
|
||||
|
||||
|
||||
def md_table(rows: list[tuple[str, str]], path_col: str = "Путь") -> str:
|
||||
if not rows:
|
||||
return "_Нет файлов._\n"
|
||||
lines = [f"| {path_col} | Назначение |", "|------|------------|"]
|
||||
for rel, desc in rows:
|
||||
lines.append(f"| `{rel}` | {desc} |")
|
||||
return "\n".join(lines) + "\n"
|
||||
|
||||
|
||||
def group_by_dir(files: list[tuple[str, str]]) -> dict[str, list[tuple[str, str]]]:
|
||||
groups: dict[str, list[tuple[str, str]]] = {}
|
||||
for rel, desc in files:
|
||||
parent = str(Path(rel).parent)
|
||||
groups.setdefault(parent if parent != "." else "(root)", []).append((rel, desc))
|
||||
return dict(sorted(groups.items()))
|
||||
|
||||
|
||||
def write_page(filename: str, title: str, intro: str, files: list[tuple[str, str]], grouped: bool = True) -> None:
|
||||
body = [f"# {title}\n", intro, f"\n**Файлов:** {len(files)}\n"]
|
||||
if grouped:
|
||||
for dirname, rows in group_by_dir(files).items():
|
||||
body.append(f"\n## `{dirname}/`\n\n")
|
||||
body.append(md_table(rows, "Файл"))
|
||||
else:
|
||||
body.append("\n")
|
||||
body.append(md_table(files))
|
||||
(OUT / filename).write_text("\n".join(body), encoding="utf-8")
|
||||
|
||||
|
||||
SECTIONS = [
|
||||
("scripts.md", "scripts/", "Скрипты k3s-test", "Все shell/Python/Node скрипты bootstrap, deploy, CI и утилит. Запускать из каталога `k3s-test/`."),
|
||||
("sova-deploy.md", "sova-deploy/", "sova-deploy: Helm и ArgoCD", "GitOps-репозиторий: Helm charts приложений, data layer, ArgoCD Applications и platform values."),
|
||||
("sova-platform.md", "sova-platform/", "sova-platform: Terraform", "Terraform для Multipass VM и установки k3s на single-node."),
|
||||
("sova-mocks.md", "sova-mocks/", "sova-mocks: WireMock и Mailpit", "Моки внешних API (MIS, Calltouch, Captcha) и SMTP для test-контура."),
|
||||
("sova-redmine.md", "sova-redmine/", "sova-redmine: custom image", "Опциональный custom Docker-образ Redmine с plugin github_hook."),
|
||||
("docs-pointers.md", "docs/", "docs/: указатели", "Короткие markdown-файлы со ссылками на VitePress."),
|
||||
("sova-backend.md", "sova-backend/", "sova-backend: Symfony API", "Backend API для adminpanel и интеграций. Копия из monorepo + test-специфичные правки."),
|
||||
("sova-adminpanel.md", "sova-adminpanel/", "sova-adminpanel: React admin", "React + Vite admin panel для CRUD контента и специалистов."),
|
||||
("sova-cabinet.md", "sova-cabinet/", "sova-cabinet: Symfony ЛК", "Личный кабинет пациента: регистрация, запись, оплата."),
|
||||
("sova-docs-repo.md", "sova-docs/", "sova-docs: сайт документации", "VitePress-сайт (монорепо docs + test-contour). Собирается в Docker и деплоится как docs-test."),
|
||||
]
|
||||
|
||||
ROOT_FILES = [
|
||||
"README.md", "plan-sentry-redmine.md", "presentation-practical-guide.md", ".gitignore",
|
||||
]
|
||||
|
||||
|
||||
def main() -> None:
|
||||
for filename, prefix, title, intro in SECTIONS:
|
||||
files = collect(prefix)
|
||||
write_page(filename, title, intro, files)
|
||||
|
||||
# Root + generated + images
|
||||
root_rows: list[tuple[str, str]] = []
|
||||
for name in ROOT_FILES:
|
||||
p = ROOT / name
|
||||
if p.exists():
|
||||
root_rows.append((name, describe(name)))
|
||||
for prefix in [".generated/", ".images/"]:
|
||||
root_rows.extend(collect(prefix))
|
||||
|
||||
write_page(
|
||||
"root-and-artifacts.md",
|
||||
"Корень k3s-test и артеfacts",
|
||||
"Файлы в корне `k3s-test/`, сгенерированные креды и tar-образы для offline import.\n\n"
|
||||
"> **Не документируем:** `.tmp-chart/` (legacy Sentry chart, 456 upstream-файлов), "
|
||||
"`vendor/`, `node_modules/`, `public/build/` (сборка Webpack), `.terraform/providers/`.",
|
||||
root_rows,
|
||||
grouped=False,
|
||||
)
|
||||
|
||||
# Index
|
||||
total = sum(len(collect(p)) for _, p, _, _ in SECTIONS) + len(root_rows)
|
||||
index = [
|
||||
"# Справочник файлов k3s-test\n",
|
||||
"Полный перечень файлов песочницы `k3s-test/` с кратким назначением каждого.",
|
||||
"Для понимания **как пользоваться** контуром начните с [обзора test-контура](../) и [статьи «что сделано»](../test-contour-article).",
|
||||
"Этот справочник отвечает на вопрос **«что лежит в каком файле»**.\n",
|
||||
f"**Документировано файлов:** ~{total} (без vendor/node_modules/dist/.tmp-chart).\n",
|
||||
"## Дерево каталогов\n",
|
||||
"```",
|
||||
"k3s-test/",
|
||||
"├── README.md, plan-sentry-redmine.md, presentation-practical-guide.md",
|
||||
"├── .generated/ # platform-credentials.env, CI SSH keys",
|
||||
"├── .images/ # *.tar для import-images-to-vm.sh",
|
||||
"├── docs/ # указатели на VitePress",
|
||||
"├── scripts/ # bootstrap, deploy, CI, smoke",
|
||||
"├── sova-adminpanel/ # React admin + Gitea CI",
|
||||
"├── sova-backend/ # Symfony API + Gitea CI",
|
||||
"├── sova-cabinet/ # Symfony ЛК + Gitea CI",
|
||||
"├── sova-deploy/ # Helm + ArgoCD GitOps",
|
||||
"├── sova-docs/ # VitePress documentation site",
|
||||
"├── sova-mocks/ # WireMock + Mailpit",
|
||||
"├── sova-platform/ # Terraform k3s bootstrap",
|
||||
"└── sova-redmine/ # custom Redmine image (optional)",
|
||||
"```\n",
|
||||
"## Разделы справочника\n",
|
||||
"| Раздел | Файлов | Описание |",
|
||||
"|--------|--------|----------|",
|
||||
]
|
||||
for filename, prefix, title, _ in SECTIONS:
|
||||
n = len(collect(prefix))
|
||||
link = filename.replace(".md", "")
|
||||
index.append(f"| [{title}](./{link}) | {n} | `{prefix}` |")
|
||||
index.append(f"| [Корень и артеfacts](./root-and-artifacts) | {len(root_rows)} | README, `.generated/`, `.images/` |")
|
||||
index.extend([
|
||||
"\n## Типовые сценарии (какие скрипты вызывать)\n",
|
||||
"| Сценарий | Команды |",
|
||||
"|----------|---------|",
|
||||
"| **Первый запуск (Multipass)** | `bootstrap-multipass.sh` → `build-images.sh` → `import-images-to-vm.sh` → `deploy-platform.sh` → `deploy-test-stack.sh` |",
|
||||
"| **Первый запуск (k3d на Mac)** | `sync-from-monorepo.sh` → `build-images.sh` → `k3d-bootstrap.sh` |",
|
||||
"| **Старт/стоп VM** | `multipass start sova-test` / `multipass stop sova-test` → `source scripts/use-kubeconfig.sh` |",
|
||||
"| **Релиз приложения** | `scripts/release-tag.sh {backend\\|adminpanel\\|cabinet\\|docs} {tag} test` |",
|
||||
"| **Обновить БД test** | `prepare-db-init.sh` → удалить job db-init → redeploy data-test |",
|
||||
"| **Redmine** | `deploy-redmine.sh --bootstrap` |",
|
||||
"| **Скриншоты для доков** | `capture-platform-screenshots/run.sh` |",
|
||||
"\n## Связанная документация\n",
|
||||
"- [Git-flow](../git-flow) — ветки prod/test/stage",
|
||||
"- [Система тегов](../tags) — `{component}-v{semver}-{env}`",
|
||||
"- [ArgoCD приложения](../argocd-apps) — sova-root, data-test",
|
||||
"- [Gitea CI](./guides/gitea-ci) — pipeline и registry",
|
||||
"- [Redmine](./guides/redmine) — issue tracker",
|
||||
])
|
||||
(OUT / "index.md").write_text("\n".join(index), encoding="utf-8")
|
||||
print(f"Generated {len(SECTIONS)+2} pages, ~{total} files")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,14 @@
|
||||
# docs/: указатели
|
||||
|
||||
Короткие markdown-файлы со ссылками на VitePress.
|
||||
|
||||
**Файлов:** 2
|
||||
|
||||
|
||||
## `docs/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `docs/git-flow.md` | Документация Markdown |
|
||||
| `docs/test-contour-article.md` | Документация Markdown |
|
||||
@@ -0,0 +1,62 @@
|
||||
# Справочник файлов k3s-test
|
||||
|
||||
Полный перечень файлов песочницы `k3s-test/` с кратким назначением каждого.
|
||||
Для понимания **как пользоваться** контуром начните с [обзора test-контура](../) и [статьи «что сделано»](../test-contour-article).
|
||||
Этот справочник отвечает на вопрос **«что лежит в каком файле»**.
|
||||
|
||||
**Документировано файлов:** ~1086 (без vendor/node_modules/dist/.tmp-chart).
|
||||
|
||||
## Дерево каталогов
|
||||
|
||||
```
|
||||
k3s-test/
|
||||
├── README.md, plan-sentry-redmine.md, presentation-practical-guide.md
|
||||
├── .generated/ # platform-credentials.env, CI SSH keys
|
||||
├── .images/ # *.tar для import-images-to-vm.sh
|
||||
├── docs/ # указатели на VitePress
|
||||
├── scripts/ # bootstrap, deploy, CI, smoke
|
||||
├── sova-adminpanel/ # React admin + Gitea CI
|
||||
├── sova-backend/ # Symfony API + Gitea CI
|
||||
├── sova-cabinet/ # Symfony ЛК + Gitea CI
|
||||
├── sova-deploy/ # Helm + ArgoCD GitOps
|
||||
├── sova-docs/ # VitePress documentation site
|
||||
├── sova-mocks/ # WireMock + Mailpit
|
||||
├── sova-platform/ # Terraform k3s bootstrap
|
||||
└── sova-redmine/ # custom Redmine image (optional)
|
||||
```
|
||||
|
||||
## Разделы справочника
|
||||
|
||||
| Раздел | Файлов | Описание |
|
||||
|--------|--------|----------|
|
||||
| [Скрипты k3s-test](./scripts) | 38 | `scripts/` |
|
||||
| [sova-deploy: Helm и ArgoCD](./sova-deploy) | 56 | `sova-deploy/` |
|
||||
| [sova-platform: Terraform](./sova-platform) | 10 | `sova-platform/` |
|
||||
| [sova-mocks: WireMock и Mailpit](./sova-mocks) | 19 | `sova-mocks/` |
|
||||
| [sova-redmine: custom image](./sova-redmine) | 2 | `sova-redmine/` |
|
||||
| [docs/: указатели](./docs-pointers) | 2 | `docs/` |
|
||||
| [sova-backend: Symfony API](./sova-backend) | 277 | `sova-backend/` |
|
||||
| [sova-adminpanel: React admin](./sova-adminpanel) | 129 | `sova-adminpanel/` |
|
||||
| [sova-cabinet: Symfony ЛК](./sova-cabinet) | 428 | `sova-cabinet/` |
|
||||
| [sova-docs: сайт документации](./sova-docs-repo) | 114 | `sova-docs/` |
|
||||
| [Корень и артеfacts](./root-and-artifacts) | 11 | README, `.generated/`, `.images/` |
|
||||
|
||||
## Типовые сценарии (какие скрипты вызывать)
|
||||
|
||||
| Сценарий | Команды |
|
||||
|----------|---------|
|
||||
| **Первый запуск (Multipass)** | `bootstrap-multipass.sh` → `build-images.sh` → `import-images-to-vm.sh` → `deploy-platform.sh` → `deploy-test-stack.sh` |
|
||||
| **Первый запуск (k3d на Mac)** | `sync-from-monorepo.sh` → `build-images.sh` → `k3d-bootstrap.sh` |
|
||||
| **Старт/стоп VM** | `multipass start sova-test` / `multipass stop sova-test` → `source scripts/use-kubeconfig.sh` |
|
||||
| **Релиз приложения** | `scripts/release-tag.sh {backend\|adminpanel\|cabinet\|docs} {tag} test` |
|
||||
| **Обновить БД test** | `prepare-db-init.sh` → удалить job db-init → redeploy data-test |
|
||||
| **Redmine** | `deploy-redmine.sh --bootstrap` |
|
||||
| **Скриншоты для доков** | `capture-platform-screenshots/run.sh` |
|
||||
|
||||
## Связанная документация
|
||||
|
||||
- [Git-flow](../git-flow) — ветки prod/test/stage
|
||||
- [Система тегов](../tags) — `{component}-v{semver}-{env}`
|
||||
- [ArgoCD приложения](../argocd-apps) — sova-root, data-test
|
||||
- [Gitea CI](./guides/gitea-ci) — pipeline и registry
|
||||
- [Redmine](./guides/redmine) — issue tracker
|
||||
@@ -0,0 +1,23 @@
|
||||
# Корень k3s-test и артеfacts
|
||||
|
||||
Файлы в корне `k3s-test/`, сгенерированные креды и tar-образы для offline import.
|
||||
|
||||
> **Не документируем:** `.tmp-chart/` (legacy Sentry chart, 456 upstream-файлов), `vendor/`, `node_modules/`, `public/build/` (сборка Webpack), `.terraform/providers/`.
|
||||
|
||||
**Файлов:** 11
|
||||
|
||||
|
||||
|
||||
| Путь | Назначение |
|
||||
|------|------------|
|
||||
| `README.md` | Главный README k3s-test |
|
||||
| `plan-sentry-redmine.md` | План Redmine (Sentry удалён из контура) |
|
||||
| `presentation-practical-guide.md` | Практическое руководство / демо для команды |
|
||||
| `.gitignore` | Git ignore rules |
|
||||
| `.generated/ci-ssh/sova-deploy` | SSH-ключ Gitea Actions → sova-deploy GitOps |
|
||||
| `.generated/ci-ssh/sova-deploy.pub` | SSH-ключ Gitea Actions → sova-deploy GitOps |
|
||||
| `.generated/platform-credentials.env` | Сгенерированные креды platform (не в git) |
|
||||
| `.images/sova-adminpanel-local-test.tar` | Saved Docker image для import-images-to-vm.sh |
|
||||
| `.images/sova-backend-local-test.tar` | Saved Docker image для import-images-to-vm.sh |
|
||||
| `.images/sova-cabinet-local-test.tar` | Saved Docker image для import-images-to-vm.sh |
|
||||
| `.images/sova-docs-local-test.tar` | Saved Docker image для import-images-to-vm.sh |
|
||||
@@ -0,0 +1,57 @@
|
||||
# Скрипты k3s-test
|
||||
|
||||
Все shell/Python/Node скрипты bootstrap, deploy, CI и утилит. Запускать из каталога `k3s-test/`.
|
||||
|
||||
**Файлов:** 38
|
||||
|
||||
|
||||
## `scripts/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `scripts/bootstrap-argocd.sh` | ArgoCD AppProject + Applications (sova-root, data-test, test-contour) |
|
||||
| `scripts/bootstrap-gitea-ci-secrets.sh` | Gitea Actions secrets: registry, deploy SSH key |
|
||||
| `scripts/bootstrap-gitea-runner.sh` | Установка Gitea Actions runner в k3s |
|
||||
| `scripts/bootstrap-gitea.sh` | Bootstrap Gitea: org sova, repos, admin user |
|
||||
| `scripts/bootstrap-multipass.sh` | Полный bootstrap VM + k3s + platform |
|
||||
| `scripts/bootstrap-redmine.sh` | REST API: проект sova-platform + задача #27 |
|
||||
| `scripts/bootstrap-vm.sh` | Generic VM bootstrap helper |
|
||||
| `scripts/build-images.sh` | Сборка Docker-образов всех приложений (local-test/test tag) |
|
||||
| `scripts/configure-k3s-registry.sh` | k3s registries.yaml → pull из git.sova.local |
|
||||
| `scripts/deploy-monitoring-logs.sh` | Helm: Loki + Promtail (логи в Grafana) |
|
||||
| `scripts/deploy-platform-ingress.sh` | Ingress rules: Gitea, ArgoCD, Grafana, Redmine, docs |
|
||||
| `scripts/deploy-platform.sh` | Platform stack: ingress, ArgoCD, Gitea, Prometheus/Grafana |
|
||||
| `scripts/deploy-redmine.sh` | Helm Redmine + ingress + ArgoCD app redmine-test |
|
||||
| `scripts/deploy-sentry-redmine.sh` | Alias → deploy-redmine.sh (Sentry удалён) |
|
||||
| `scripts/deploy-test-stack.sh` | Деплой приложений test-контура |
|
||||
| `scripts/import-images-to-vm.sh` | docker load .images/*.tar в Multipass VM |
|
||||
| `scripts/install-k3s-multipass.sh` | Установка k3s внутри Multipass VM |
|
||||
| `scripts/k3d-bootstrap.sh` | k3d cluster + ingress + apps (Mac без Multipass) |
|
||||
| `scripts/migrate-monorepo-branch.sh` | Demo: миграция ветки monorepo для issue #27 |
|
||||
| `scripts/prepare-db-init.py` | Split SQL на schema/seed (helper для prepare-db-init.sh) |
|
||||
| `scripts/prepare-db-init.sh` | Генерация schema/seed SQL из monorepo |
|
||||
| `scripts/print-test-users.sh` | Тестовые логины/пароли приложений |
|
||||
| `scripts/print-urls.sh` | URL всех сервисов и пароли platform |
|
||||
| `scripts/release-tag.sh` | Создать git tag → Gitea CI → GitOps |
|
||||
| `scripts/release-test-tag.sh` | Wrapper → release-tag.sh (backward compat) |
|
||||
| `scripts/resize-multipass-vm.sh` | Увеличить CPU/RAM Multipass VM |
|
||||
| `scripts/setup-git-flow-branches.sh` | Создать prod/test/stage в Gitea repos |
|
||||
| `scripts/setup-gitea-branch-protection.sh` | Branch protection: PR-only на env-ветки |
|
||||
| `scripts/setup-gitea-redmine-integration.sh` | Инструкции Gitea ↔ Redmine (manual UI) |
|
||||
| `scripts/smoke-test.sh` | Smoke-проверки HTTP + kubectl |
|
||||
| `scripts/sync-from-monorepo.sh` | Синхронизация кода из родительского monorepo |
|
||||
| `scripts/use-kubeconfig.sh` | export KUBECONFIG=~/.kube/sova-test-config |
|
||||
|
||||
|
||||
## `scripts/capture-platform-screenshots/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `scripts/capture-platform-screenshots/capture.mjs` | Playwright: снять UI platform screenshots |
|
||||
| `scripts/capture-platform-screenshots/harness-check.mjs` | Проверка prerequisites screenshot harness |
|
||||
| `scripts/capture-platform-screenshots/package-lock.json` | JSON-данные / конфиг |
|
||||
| `scripts/capture-platform-screenshots/package.json` | NPM/Yarn зависимости и scripts |
|
||||
| `scripts/capture-platform-screenshots/reg-e2e.mjs` | E2E: сценарий регистрации cabinet |
|
||||
| `scripts/capture-platform-screenshots/run.sh` | Entry point: полный pipeline скриншотов |
|
||||
@@ -0,0 +1,358 @@
|
||||
# sova-adminpanel: React admin
|
||||
|
||||
React + Vite admin panel для CRUD контента и специалистов.
|
||||
|
||||
**Файлов:** 129
|
||||
|
||||
|
||||
## `sova-adminpanel/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/.gitignore` | Git ignore rules |
|
||||
| `sova-adminpanel/Dockerfile` | Docker multistage build |
|
||||
| `sova-adminpanel/README.md` | Главный README k3s-test |
|
||||
| `sova-adminpanel/babel.config.js` | JavaScript |
|
||||
| `sova-adminpanel/eslint.config.js` | JavaScript |
|
||||
| `sova-adminpanel/index.html` | HTML entry (Vite/React) |
|
||||
| `sova-adminpanel/jest.config.js` | JavaScript |
|
||||
| `sova-adminpanel/jest.setup.js` | JavaScript |
|
||||
| `sova-adminpanel/package.json` | NPM/Yarn зависимости и scripts |
|
||||
| `sova-adminpanel/vite.config.js` | Vite bundler конфиг |
|
||||
|
||||
|
||||
## `sova-adminpanel/.gitea/workflows/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/.gitea/workflows/build.yml` | Gitea Actions CI pipeline |
|
||||
|
||||
|
||||
## `sova-adminpanel/docker/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/docker/entrypoint.sh` | Container entrypoint (env injection) |
|
||||
| `sova-adminpanel/docker/nginx.conf` | nginx конфиг контейнера |
|
||||
|
||||
|
||||
## `sova-adminpanel/public/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/public/env.js` | Runtime API URL (adminpanel) |
|
||||
| `sova-adminpanel/public/robots.txt` | Файл проекта |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/App.jsx` | React-компонент |
|
||||
| `sova-adminpanel/src/main.jsx` | React-компонент |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/api/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/api/apiArticle.js` | RTK Query API slice: apiArticle |
|
||||
| `sova-adminpanel/src/api/apiCertificate.js` | RTK Query API slice: apiCertificate |
|
||||
| `sova-adminpanel/src/api/apiContent.js` | RTK Query API slice: apiContent |
|
||||
| `sova-adminpanel/src/api/apiDepartment.js` | RTK Query API slice: apiDepartment |
|
||||
| `sova-adminpanel/src/api/apiDisease.js` | RTK Query API slice: apiDisease |
|
||||
| `sova-adminpanel/src/api/apiFilial.js` | RTK Query API slice: apiFilial |
|
||||
| `sova-adminpanel/src/api/apiIDoctor.js` | RTK Query API slice: apiIDoctor |
|
||||
| `sova-adminpanel/src/api/apiKodoper.js` | RTK Query API slice: apiKodoper |
|
||||
| `sova-adminpanel/src/api/apiLocation.js` | RTK Query API slice: apiLocation |
|
||||
| `sova-adminpanel/src/api/apiMedicalCenter.js` | RTK Query API slice: apiMedicalCenter |
|
||||
| `sova-adminpanel/src/api/apiNews.js` | RTK Query API slice: apiNews |
|
||||
| `sova-adminpanel/src/api/apiSitePromo.js` | RTK Query API slice: apiSitePromo |
|
||||
| `sova-adminpanel/src/api/apiSiteServices.js` | RTK Query API slice: apiSiteServices |
|
||||
| `sova-adminpanel/src/api/apiSlice.js` | RTK Query API slice: apiSlice |
|
||||
| `sova-adminpanel/src/api/apiSpecialist.js` | RTK Query API slice: apiSpecialist |
|
||||
| `sova-adminpanel/src/api/apiStock.js` | RTK Query API slice: apiStock |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/assets/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/assets/icon.png` | PNG-изображение |
|
||||
| `sova-adminpanel/src/assets/image-placeholder.png` | PNG-изображение |
|
||||
| `sova-adminpanel/src/assets/logo.png` | PNG-изображение |
|
||||
| `sova-adminpanel/src/assets/photo-placeholder.png` | PNG-изображение |
|
||||
| `sova-adminpanel/src/assets/video-placeholder.png` | PNG-изображение |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/components/Button/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/components/Button/Button.jsx` | React component: Button |
|
||||
| `sova-adminpanel/src/components/Button/Button.module.scss` | SCSS-стили |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/components/Docs/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/components/Docs/Certificates.jsx` | React component: Certificates |
|
||||
| `sova-adminpanel/src/components/Docs/Portfolio.jsx` | React component: Portfolio |
|
||||
| `sova-adminpanel/src/components/Docs/Stocks.jsx` | React component: Stocks |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/components/Editors/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/components/Editors/CertEditor.jsx` | React component: CertEditor |
|
||||
| `sova-adminpanel/src/components/Editors/TextEditor.jsx` | React component: TextEditor |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/components/Forms/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/components/Forms/EditElementForm.jsx` | React component: EditElementForm |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/components/Input/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/components/Input/Input.jsx` | React component: Input |
|
||||
| `sova-adminpanel/src/components/Input/PhoneInput.jsx` | React component: PhoneInput |
|
||||
| `sova-adminpanel/src/components/Input/TagKodoperStatic.jsx` | React component: TagKodoperStatic |
|
||||
| `sova-adminpanel/src/components/Input/TagStaticInput.jsx` | React component: TagStaticInput |
|
||||
| `sova-adminpanel/src/components/Input/Taginput.jsx` | React component: Taginput |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/components/Modals/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/components/Modals/DcodeModal.jsx` | React component: DcodeModal |
|
||||
| `sova-adminpanel/src/components/Modals/KodoperModal.jsx` | React component: KodoperModal |
|
||||
| `sova-adminpanel/src/components/Modals/Modal.jsx` | React component: Modal |
|
||||
| `sova-adminpanel/src/components/Modals/ResponseModals.jsx` | React component: ResponseModals |
|
||||
| `sova-adminpanel/src/components/Modals/StockModal.jsx` | React component: StockModal |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/components/Navbar/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/components/Navbar/Navbar.jsx` | React component: Navbar |
|
||||
| `sova-adminpanel/src/components/Navbar/Navbar.module.scss` | SCSS-стили |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/components/Paginations/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/components/Paginations/PageNav.jsx` | React component: PageNav |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/components/Placeholders/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/components/Placeholders/ErrorComponent.jsx` | React component: ErrorComponent |
|
||||
| `sova-adminpanel/src/components/Placeholders/LoadingComponent.jsx` | React component: LoadingComponent |
|
||||
| `sova-adminpanel/src/components/Placeholders/NotFindElement.jsx` | React component: NotFindElement |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/components/Sidebar/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/components/Sidebar/Sidebar.jsx` | React component: Sidebar |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/components/SidebarNavItem/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/components/SidebarNavItem/SidebarNavItem.jsx` | React component: SidebarNavItem |
|
||||
| `sova-adminpanel/src/components/SidebarNavItem/SidebarNavItem.module.scss` | SCSS-стили |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/components/Table/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/components/Table/FilterBar.jsx` | React component: FilterBar |
|
||||
| `sova-adminpanel/src/components/Table/TBody.jsx` | React component: TBody |
|
||||
| `sova-adminpanel/src/components/Table/THead.jsx` | React component: THead |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/components/UserBurger/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/components/UserBurger/UserBurger.jsx` | React component: UserBurger |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/config/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/config/api.js` | JavaScript |
|
||||
| `sova-adminpanel/src/config/contentResources.js` | JavaScript |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/hooks/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/hooks/useLostLocations.jsx` | React hook: useLostLocations |
|
||||
| `sova-adminpanel/src/hooks/useNewSpecialistId.jsx` | React hook: useNewSpecialistId |
|
||||
| `sova-adminpanel/src/hooks/useOutsideClick.jsx` | React hook: useOutsideClick |
|
||||
| `sova-adminpanel/src/hooks/useSortedPaginated.jsx` | React hook: useSortedPaginated |
|
||||
| `sova-adminpanel/src/hooks/useSorting.jsx` | React hook: useSorting |
|
||||
| `sova-adminpanel/src/hooks/useSpecialist.jsx` | React hook: useSpecialist |
|
||||
| `sova-adminpanel/src/hooks/useSpecialistFilter.jsx` | React hook: useSpecialistFilter |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/pages/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/pages/AddArticlePage.jsx` | React page: AddArticlePage |
|
||||
| `sova-adminpanel/src/pages/AddDiseasePage.jsx` | React page: AddDiseasePage |
|
||||
| `sova-adminpanel/src/pages/AddMedicalCenterPage.jsx` | React page: AddMedicalCenterPage |
|
||||
| `sova-adminpanel/src/pages/AddNewsPage.jsx` | React page: AddNewsPage |
|
||||
| `sova-adminpanel/src/pages/AddSitePromoPage.jsx` | React page: AddSitePromoPage |
|
||||
| `sova-adminpanel/src/pages/AddSiteServicesPage.jsx` | React page: AddSiteServicesPage |
|
||||
| `sova-adminpanel/src/pages/AddSpecialistPage.jsx` | React page: AddSpecialistPage |
|
||||
| `sova-adminpanel/src/pages/AddStockPage.jsx` | React page: AddStockPage |
|
||||
| `sova-adminpanel/src/pages/ArticleListPage.jsx` | React page: ArticleListPage |
|
||||
| `sova-adminpanel/src/pages/DepartmentsListPage.jsx` | React page: DepartmentsListPage |
|
||||
| `sova-adminpanel/src/pages/DiseaseListPage.jsx` | React page: DiseaseListPage |
|
||||
| `sova-adminpanel/src/pages/EditArticlePage.jsx` | React page: EditArticlePage |
|
||||
| `sova-adminpanel/src/pages/EditDepartmentPage.jsx` | React page: EditDepartmentPage |
|
||||
| `sova-adminpanel/src/pages/EditDiseasePage.jsx` | React page: EditDiseasePage |
|
||||
| `sova-adminpanel/src/pages/EditFilialPage.jsx` | React page: EditFilialPage |
|
||||
| `sova-adminpanel/src/pages/EditMedicalCenterPage.jsx` | React page: EditMedicalCenterPage |
|
||||
| `sova-adminpanel/src/pages/EditNewsPage.jsx` | React page: EditNewsPage |
|
||||
| `sova-adminpanel/src/pages/EditSitePromoPage.jsx` | React page: EditSitePromoPage |
|
||||
| `sova-adminpanel/src/pages/EditSiteServicesPage.jsx` | React page: EditSiteServicesPage |
|
||||
| `sova-adminpanel/src/pages/EditSpecialistPage.jsx` | React page: EditSpecialistPage |
|
||||
| `sova-adminpanel/src/pages/EditStockPage.jsx` | React page: EditStockPage |
|
||||
| `sova-adminpanel/src/pages/FilialsListPage.jsx` | React page: FilialsListPage |
|
||||
| `sova-adminpanel/src/pages/HomePage.jsx` | React page: HomePage |
|
||||
| `sova-adminpanel/src/pages/InfoclinicListPage.jsx` | React page: InfoclinicListPage |
|
||||
| `sova-adminpanel/src/pages/LoginPage.jsx` | React page: LoginPage |
|
||||
| `sova-adminpanel/src/pages/LostDoctorsPage.jsx` | React page: LostDoctorsPage |
|
||||
| `sova-adminpanel/src/pages/MainPage.jsx` | React page: MainPage |
|
||||
| `sova-adminpanel/src/pages/MedicalCenterListPage.jsx` | React page: MedicalCenterListPage |
|
||||
| `sova-adminpanel/src/pages/NewsListPage.jsx` | React page: NewsListPage |
|
||||
| `sova-adminpanel/src/pages/NotFoundPage.jsx` | React page: NotFoundPage |
|
||||
| `sova-adminpanel/src/pages/PricesListPage.jsx` | React page: PricesListPage |
|
||||
| `sova-adminpanel/src/pages/SitePromoListPage.jsx` | React page: SitePromoListPage |
|
||||
| `sova-adminpanel/src/pages/SiteServicesListPage.jsx` | React page: SiteServicesListPage |
|
||||
| `sova-adminpanel/src/pages/SpecialistListPage.jsx` | React page: SpecialistListPage |
|
||||
| `sova-adminpanel/src/pages/SpecialistTable.jsx` | React page: SpecialistTable |
|
||||
| `sova-adminpanel/src/pages/StoksListPage.jsx` | React page: StoksListPage |
|
||||
| `sova-adminpanel/src/pages/UserPage.jsx` | React page: UserPage |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/pages/__test__/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/pages/__test__/LoginPage.test.jsx` | React page: LoginPage.test |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/pages/content/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/pages/content/ContentEditPage.jsx` | React page: ContentEditPage |
|
||||
| `sova-adminpanel/src/pages/content/ContentListPage.jsx` | React page: ContentListPage |
|
||||
| `sova-adminpanel/src/pages/content/index.jsx` | React page: index |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/routes/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/routes/ProtectedRoute.jsx` | React-компонент |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/routes/__test__/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/routes/__test__/ProtectedRoute.test.js` | JavaScript |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/store/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/store/store.js` | JavaScript |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/store/slice/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/store/slice/authSlice.js` | JavaScript |
|
||||
| `sova-adminpanel/src/store/slice/regionSlice.js` | JavaScript |
|
||||
| `sova-adminpanel/src/store/slice/utilsSlice.js` | JavaScript |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/store/slice/__test__/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/store/slice/__test__/authSlice.test.js` | JavaScript |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/styles/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/styles/_colors.scss` | SCSS-стили |
|
||||
| `sova-adminpanel/src/styles/theme-override.scss` | SCSS-стили |
|
||||
|
||||
|
||||
## `sova-adminpanel/src/utils/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-adminpanel/src/utils/parseSaveError.js` | JavaScript |
|
||||
@@ -0,0 +1,751 @@
|
||||
# sova-backend: Symfony API
|
||||
|
||||
Backend API для adminpanel и интеграций. Копия из monorepo + test-специфичные правки.
|
||||
|
||||
**Файлов:** 277
|
||||
|
||||
|
||||
## `sova-backend/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/.cursorignore ` | Файл проекта |
|
||||
| `sova-backend/.editorconfig` | Файл проекта |
|
||||
| `sova-backend/.env.ci` | Файл проекта |
|
||||
| `sova-backend/.env.dev` | Файл проекта |
|
||||
| `sova-backend/.env.test` | Файл проекта |
|
||||
| `sova-backend/.gitignore` | Git ignore rules |
|
||||
| `sova-backend/Dockerfile` | Docker multistage build |
|
||||
| `sova-backend/compose.override.yaml` | Локальные overrides Compose |
|
||||
| `sova-backend/compose.yaml` | Docker Compose (Symfony) |
|
||||
| `sova-backend/composer.json` | PHP Composer зависимости |
|
||||
| `sova-backend/importmap.php` | PHP (Symfony) |
|
||||
| `sova-backend/issues-27.html` | HTML |
|
||||
| `sova-backend/mr.diff` | Файл проекта |
|
||||
| `sova-backend/phpunit.dist.xml` | XML-конфиг |
|
||||
|
||||
|
||||
## `sova-backend/.gitea/workflows/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/.gitea/workflows/build.yml` | Gitea Actions CI pipeline |
|
||||
|
||||
|
||||
## `sova-backend/assets/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/assets/app.js` | JavaScript |
|
||||
| `sova-backend/assets/bootstrap.js` | JavaScript |
|
||||
| `sova-backend/assets/controllers.json` | JSON-данные / конфиг |
|
||||
| `sova-backend/assets/stimulus_bootstrap.js` | JavaScript |
|
||||
|
||||
|
||||
## `sova-backend/assets/controllers/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/assets/controllers/csrf_protection_controller.js` | Stimulus controller: csrf_protection |
|
||||
| `sova-backend/assets/controllers/hello_controller.js` | Stimulus controller: hello |
|
||||
|
||||
|
||||
## `sova-backend/assets/styles/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/assets/styles/app.css` | CSS-стили |
|
||||
|
||||
|
||||
## `sova-backend/bin/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/bin/console` | Symfony CLI entry |
|
||||
| `sova-backend/bin/phpunit` | PHPUnit runner wrapper |
|
||||
|
||||
|
||||
## `sova-backend/config/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/config/bundles.php` | PHP (Symfony) |
|
||||
| `sova-backend/config/preload.php` | PHP (Symfony) |
|
||||
| `sova-backend/config/reference.php` | PHP (Symfony) |
|
||||
| `sova-backend/config/routes.yaml` | YAML-конфиг / Helm / K8s |
|
||||
| `sova-backend/config/services.php` | PHP DI bindings по APP_ENV |
|
||||
| `sova-backend/config/services.yaml` | YAML-конфиг / Helm / K8s |
|
||||
| `sova-backend/config/services_stub.yaml` | Stub-клиенты SMS/Calltouch/Captcha для test |
|
||||
|
||||
|
||||
## `sova-backend/config/packages/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/config/packages/asset_mapper.yaml` | Symfony bundle config: asset_mapper.yaml |
|
||||
| `sova-backend/config/packages/cache.yaml` | Symfony bundle config: cache.yaml |
|
||||
| `sova-backend/config/packages/csrf.yaml` | Symfony bundle config: csrf.yaml |
|
||||
| `sova-backend/config/packages/debug.yaml` | Symfony bundle config: debug.yaml |
|
||||
| `sova-backend/config/packages/doctrine.yaml` | Symfony bundle config: doctrine.yaml |
|
||||
| `sova-backend/config/packages/doctrine_migrations.yaml` | Symfony bundle config: doctrine_migrations.yaml |
|
||||
| `sova-backend/config/packages/framework.yaml` | Symfony bundle config: framework.yaml |
|
||||
| `sova-backend/config/packages/lexik_jwt_authentication.yaml` | Symfony bundle config: lexik_jwt_authentication.yaml |
|
||||
| `sova-backend/config/packages/lock.yaml` | Symfony bundle config: lock.yaml |
|
||||
| `sova-backend/config/packages/mailer.yaml` | Symfony bundle config: mailer.yaml |
|
||||
| `sova-backend/config/packages/messenger.yaml` | Symfony bundle config: messenger.yaml |
|
||||
| `sova-backend/config/packages/monolog.yaml` | Symfony bundle config: monolog.yaml |
|
||||
| `sova-backend/config/packages/nelmio_api_doc.yaml` | Symfony bundle config: nelmio_api_doc.yaml |
|
||||
| `sova-backend/config/packages/nelmio_cors.yaml` | Symfony bundle config: nelmio_cors.yaml |
|
||||
| `sova-backend/config/packages/notifier.yaml` | Symfony bundle config: notifier.yaml |
|
||||
| `sova-backend/config/packages/property_info.yaml` | Symfony bundle config: property_info.yaml |
|
||||
| `sova-backend/config/packages/routing.yaml` | Symfony bundle config: routing.yaml |
|
||||
| `sova-backend/config/packages/scheduler.yaml` | Symfony bundle config: scheduler.yaml |
|
||||
| `sova-backend/config/packages/security.yaml` | Symfony bundle config: security.yaml |
|
||||
| `sova-backend/config/packages/serializer.yaml` | Symfony bundle config: serializer.yaml |
|
||||
| `sova-backend/config/packages/translation.yaml` | Symfony bundle config: translation.yaml |
|
||||
| `sova-backend/config/packages/twig.yaml` | Symfony bundle config: twig.yaml |
|
||||
| `sova-backend/config/packages/ux_turbo.yaml` | Symfony bundle config: ux_turbo.yaml |
|
||||
| `sova-backend/config/packages/validator.yaml` | Symfony bundle config: validator.yaml |
|
||||
| `sova-backend/config/packages/web_profiler.yaml` | Symfony bundle config: web_profiler.yaml |
|
||||
|
||||
|
||||
## `sova-backend/config/packages/dev/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/config/packages/dev/web_profiler.yaml` | Symfony bundle config: web_profiler.yaml |
|
||||
|
||||
|
||||
## `sova-backend/config/routes/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/config/routes/framework.yaml` | YAML-конфиг / Helm / K8s |
|
||||
| `sova-backend/config/routes/nelmio_api_doc.yaml` | YAML-конфиг / Helm / K8s |
|
||||
| `sova-backend/config/routes/security.yaml` | YAML-конфиг / Helm / K8s |
|
||||
| `sova-backend/config/routes/web_profiler.yaml` | YAML-конфиг / Helm / K8s |
|
||||
|
||||
|
||||
## `sova-backend/docker/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/docker/fpm-pool.conf` | Файл проекта |
|
||||
|
||||
|
||||
## `sova-backend/docker/nginx/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/docker/nginx/default.conf` | Файл проекта |
|
||||
|
||||
|
||||
## `sova-backend/migrations/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/migrations/.gitignore` | Git ignore rules |
|
||||
| `sova-backend/migrations/Version20260213132749.php` | Doctrine migration |
|
||||
| `sova-backend/migrations/Version20260213132759.php` | Doctrine migration |
|
||||
| `sova-backend/migrations/Version20260311212936.php` | Doctrine migration |
|
||||
| `sova-backend/migrations/Version20260417120000.php` | Doctrine migration |
|
||||
| `sova-backend/migrations/Version20260515142000.php` | Doctrine migration |
|
||||
|
||||
|
||||
## `sova-backend/public/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/public/favicon.ico` | Favicon |
|
||||
| `sova-backend/public/index.php` | HTTP front controller Symfony |
|
||||
| `sova-backend/public/robots.txt` | Файл проекта |
|
||||
| `sova-backend/public/swagger.json` | JSON-данные / конфиг |
|
||||
|
||||
|
||||
## `sova-backend/public/images/logo/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/public/images/logo/comfort.jpg` | JPEG-изображение |
|
||||
| `sova-backend/public/images/logo/sovamed.png` | PNG-изображение |
|
||||
| `sova-backend/public/images/logo/sovenok.png` | PNG-изображение |
|
||||
| `sova-backend/public/images/logo/wmtmed.png` | PNG-изображение |
|
||||
|
||||
|
||||
## `sova-backend/src/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Kernel.php` | PHP (Symfony) |
|
||||
| `sova-backend/src/Schedule.php` | PHP (Symfony) |
|
||||
|
||||
|
||||
## `sova-backend/src/Command/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Command/BitrixUpdateDoctorsCommand.php` | Console command: BitrixUpdateDoctorsCommand |
|
||||
| `sova-backend/src/Command/BitrixUpdateReviewsCommand.php` | Console command: BitrixUpdateReviewsCommand |
|
||||
| `sova-backend/src/Command/ClearScheduleCacheCommand.php` | Console command: ClearScheduleCacheCommand |
|
||||
| `sova-backend/src/Command/UploadDepartmentsCommand.php` | Console command: UploadDepartmentsCommand |
|
||||
| `sova-backend/src/Command/UploadDiseasesCommand.php` | Console command: UploadDiseasesCommand |
|
||||
| `sova-backend/src/Command/UploadDoctorsCommand.php` | Console command: UploadDoctorsCommand |
|
||||
| `sova-backend/src/Command/UploadFilialsCommand.php` | Console command: UploadFilialsCommand |
|
||||
| `sova-backend/src/Command/UploadMedicalCentersCommand.php` | Console command: UploadMedicalCentersCommand |
|
||||
| `sova-backend/src/Command/UploadNewsCommand.php` | Console command: UploadNewsCommand |
|
||||
| `sova-backend/src/Command/UploadPriceCommand.php` | Console command: UploadPriceCommand |
|
||||
| `sova-backend/src/Command/UploadPriceDepCommand.php` | Console command: UploadPriceDepCommand |
|
||||
| `sova-backend/src/Command/UploadPromoCommand.php` | Console command: UploadPromoCommand |
|
||||
| `sova-backend/src/Command/UploadSiteServicesCommand.php` | Console command: UploadSiteServicesCommand |
|
||||
|
||||
|
||||
## `sova-backend/src/Controller/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Controller/.gitignore` | Git ignore rules |
|
||||
| `sova-backend/src/Controller/ArticleController.php` | Symfony controller: ArticleController |
|
||||
| `sova-backend/src/Controller/CalltouchController.php` | Symfony controller: CalltouchController |
|
||||
| `sova-backend/src/Controller/DefaultController.php` | Symfony controller: DefaultController |
|
||||
| `sova-backend/src/Controller/DepartmentController.php` | Symfony controller: DepartmentController |
|
||||
| `sova-backend/src/Controller/DiseaseController.php` | Symfony controller: DiseaseController |
|
||||
| `sova-backend/src/Controller/FilialController.php` | Symfony controller: FilialController |
|
||||
| `sova-backend/src/Controller/HelperController.php` | Symfony controller: HelperController |
|
||||
| `sova-backend/src/Controller/InfoclinicaController.php` | Symfony controller: InfoclinicaController |
|
||||
| `sova-backend/src/Controller/LocationController.php` | Symfony controller: LocationController |
|
||||
| `sova-backend/src/Controller/MedicalCenterController.php` | Symfony controller: MedicalCenterController |
|
||||
| `sova-backend/src/Controller/NewsController.php` | Symfony controller: NewsController |
|
||||
| `sova-backend/src/Controller/PriceDepartmentController.php` | Symfony controller: PriceDepartmentController |
|
||||
| `sova-backend/src/Controller/PriceListController.php` | Symfony controller: PriceListController |
|
||||
| `sova-backend/src/Controller/PromoController.php` | Symfony controller: PromoController |
|
||||
| `sova-backend/src/Controller/ReviewController.php` | Symfony controller: ReviewController |
|
||||
| `sova-backend/src/Controller/ServiceController.php` | Symfony controller: ServiceController |
|
||||
| `sova-backend/src/Controller/SiteServiceController.php` | Symfony controller: SiteServiceController |
|
||||
| `sova-backend/src/Controller/SpecialistController.php` | Symfony controller: SpecialistController |
|
||||
| `sova-backend/src/Controller/SpecialistDcodeDescriptionController.php` | Symfony controller: SpecialistDcodeDescriptionController |
|
||||
| `sova-backend/src/Controller/SpecialistDocsController.php` | Symfony controller: SpecialistDocsController |
|
||||
| `sova-backend/src/Controller/StockController.php` | Symfony controller: StockController |
|
||||
| `sova-backend/src/Controller/UserController.php` | Symfony controller: UserController |
|
||||
| `sova-backend/src/Controller/UsrlogController.php` | Symfony controller: UsrlogController |
|
||||
| `sova-backend/src/Controller/WebGetDocinfoController.php` | Symfony controller: WebGetDocinfoController |
|
||||
| `sova-backend/src/Controller/XmlFeedController.php` | Symfony controller: XmlFeedController |
|
||||
|
||||
|
||||
## `sova-backend/src/Dto/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Dto/AnonymousReserveRequestDto.php` | DTO: AnonymousReserveRequestDto |
|
||||
| `sova-backend/src/Dto/CalltouchCreateRequestDto.php` | DTO: CalltouchCreateRequestDto |
|
||||
| `sova-backend/src/Dto/FileUploadDto.php` | DTO: FileUploadDto |
|
||||
| `sova-backend/src/Dto/RegionDto.php` | DTO: RegionDto |
|
||||
| `sova-backend/src/Dto/RegistrationDto.php` | DTO: RegistrationDto |
|
||||
| `sova-backend/src/Dto/ReviewInputDto.php` | DTO: ReviewInputDto |
|
||||
| `sova-backend/src/Dto/ScheduleDayDto.php` | DTO: ScheduleDayDto |
|
||||
| `sova-backend/src/Dto/ScheduleDto.php` | DTO: ScheduleDto |
|
||||
| `sova-backend/src/Dto/SpecialistFilterDto.php` | DTO: SpecialistFilterDto |
|
||||
| `sova-backend/src/Dto/UserAuthDto.php` | DTO: UserAuthDto |
|
||||
| `sova-backend/src/Dto/UserLoginDto.php` | DTO: UserLoginDto |
|
||||
| `sova-backend/src/Dto/UserUidAuthDto.php` | DTO: UserUidAuthDto |
|
||||
|
||||
|
||||
## `sova-backend/src/Dto/Content/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Dto/Content/ContentFilterDto.php` | DTO: ContentFilterDto |
|
||||
|
||||
|
||||
## `sova-backend/src/Entity/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Entity/.gitignore` | Git ignore rules |
|
||||
| `sova-backend/src/Entity/AlertSms.php` | Doctrine entity: AlertSms |
|
||||
| `sova-backend/src/Entity/Article.php` | Doctrine entity: Article |
|
||||
| `sova-backend/src/Entity/Banner.php` | Doctrine entity: Banner |
|
||||
| `sova-backend/src/Entity/Department.php` | Doctrine entity: Department |
|
||||
| `sova-backend/src/Entity/Disease.php` | Doctrine entity: Disease |
|
||||
| `sova-backend/src/Entity/Filial.php` | Doctrine entity: Filial |
|
||||
| `sova-backend/src/Entity/Idoctor.php` | Doctrine entity: Idoctor |
|
||||
| `sova-backend/src/Entity/Location.php` | Doctrine entity: Location |
|
||||
| `sova-backend/src/Entity/MarkKiosk.php` | Doctrine entity: MarkKiosk |
|
||||
| `sova-backend/src/Entity/MedicalCenter.php` | Doctrine entity: MedicalCenter |
|
||||
| `sova-backend/src/Entity/News.php` | Doctrine entity: News |
|
||||
| `sova-backend/src/Entity/PriceDepartment.php` | Doctrine entity: PriceDepartment |
|
||||
| `sova-backend/src/Entity/PriceList.php` | Doctrine entity: PriceList |
|
||||
| `sova-backend/src/Entity/Promo.php` | Doctrine entity: Promo |
|
||||
| `sova-backend/src/Entity/Record.php` | Doctrine entity: Record |
|
||||
| `sova-backend/src/Entity/Review.php` | Doctrine entity: Review |
|
||||
| `sova-backend/src/Entity/Schedule.php` | Doctrine entity: Schedule |
|
||||
| `sova-backend/src/Entity/SiteService.php` | Doctrine entity: SiteService |
|
||||
| `sova-backend/src/Entity/Specialist.php` | Doctrine entity: Specialist |
|
||||
| `sova-backend/src/Entity/SpecialistDcodeDescription.php` | Doctrine entity: SpecialistDcodeDescription |
|
||||
| `sova-backend/src/Entity/SpecialistDocs.php` | Doctrine entity: SpecialistDocs |
|
||||
| `sova-backend/src/Entity/Stock.php` | Doctrine entity: Stock |
|
||||
| `sova-backend/src/Entity/User.php` | Doctrine entity: User |
|
||||
| `sova-backend/src/Entity/WebGetDocinfo.php` | Doctrine entity: WebGetDocinfo |
|
||||
| `sova-backend/src/Entity/WidgetForm.php` | Doctrine entity: WidgetForm |
|
||||
| `sova-backend/src/Entity/WidgetFormInput.php` | Doctrine entity: WidgetFormInput |
|
||||
|
||||
|
||||
## `sova-backend/src/Entity/Behavior/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Entity/Behavior/UpdateTimestampTrait.php` | Doctrine entity: UpdateTimestampTrait |
|
||||
|
||||
|
||||
## `sova-backend/src/EventListener/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/EventListener/JsonExceptionHandler.php` | PHP (Symfony) |
|
||||
|
||||
|
||||
## `sova-backend/src/Form/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Form/WidgetFormInputType.php` | Form type: WidgetFormInputType |
|
||||
| `sova-backend/src/Form/WidgetFormType.php` | Form type: WidgetFormType |
|
||||
|
||||
|
||||
## `sova-backend/src/Message/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Message/GetAnonymousReserveRequestMessage.php` | Messenger message: GetAnonymousReserveRequestMessage |
|
||||
| `sova-backend/src/Message/GetScheduleMessage.php` | Messenger message: GetScheduleMessage |
|
||||
| `sova-backend/src/Message/GetSpecialistPictureMessage.php` | Messenger message: GetSpecialistPictureMessage |
|
||||
|
||||
|
||||
## `sova-backend/src/MessageHandler/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/MessageHandler/GetAnonymousReserveRequestMessageHandler.php` | Messenger handler: GetAnonymousReserveRequestMessageHandler |
|
||||
| `sova-backend/src/MessageHandler/GetScheduleMessageHandler.php` | Messenger handler: GetScheduleMessageHandler |
|
||||
| `sova-backend/src/MessageHandler/GetSpecialistPictureMessageHandler.php` | Messenger handler: GetSpecialistPictureMessageHandler |
|
||||
|
||||
|
||||
## `sova-backend/src/Repository/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Repository/.gitignore` | Git ignore rules |
|
||||
| `sova-backend/src/Repository/AlertSmsRepository.php` | Doctrine repository: AlertSmsRepository |
|
||||
| `sova-backend/src/Repository/ArticleRepository.php` | Doctrine repository: ArticleRepository |
|
||||
| `sova-backend/src/Repository/BannerRepository.php` | Doctrine repository: BannerRepository |
|
||||
| `sova-backend/src/Repository/ContentFilterTrait.php` | Doctrine repository: ContentFilterTrait |
|
||||
| `sova-backend/src/Repository/DepartmentRepository.php` | Doctrine repository: DepartmentRepository |
|
||||
| `sova-backend/src/Repository/DiseaseRepository.php` | Doctrine repository: DiseaseRepository |
|
||||
| `sova-backend/src/Repository/FilialRepository.php` | Doctrine repository: FilialRepository |
|
||||
| `sova-backend/src/Repository/IdoctorRepository.php` | Doctrine repository: IdoctorRepository |
|
||||
| `sova-backend/src/Repository/LocationRepository.php` | Doctrine repository: LocationRepository |
|
||||
| `sova-backend/src/Repository/MarkKioskRepository.php` | Doctrine repository: MarkKioskRepository |
|
||||
| `sova-backend/src/Repository/MedicalCenterRepository.php` | Doctrine repository: MedicalCenterRepository |
|
||||
| `sova-backend/src/Repository/NewsRepository.php` | Doctrine repository: NewsRepository |
|
||||
| `sova-backend/src/Repository/PriceDepartmentRepository.php` | Doctrine repository: PriceDepartmentRepository |
|
||||
| `sova-backend/src/Repository/PriceListRepository.php` | Doctrine repository: PriceListRepository |
|
||||
| `sova-backend/src/Repository/PromoRepository.php` | Doctrine repository: PromoRepository |
|
||||
| `sova-backend/src/Repository/RecordRepository.php` | Doctrine repository: RecordRepository |
|
||||
| `sova-backend/src/Repository/ReviewRepository.php` | Doctrine repository: ReviewRepository |
|
||||
| `sova-backend/src/Repository/ScheduleRepository.php` | Doctrine repository: ScheduleRepository |
|
||||
| `sova-backend/src/Repository/SiteServiceRepository.php` | Doctrine repository: SiteServiceRepository |
|
||||
| `sova-backend/src/Repository/SpecialistDcodeDescriptionRepository.php` | Doctrine repository: SpecialistDcodeDescriptionRepository |
|
||||
| `sova-backend/src/Repository/SpecialistDocsRepository.php` | Doctrine repository: SpecialistDocsRepository |
|
||||
| `sova-backend/src/Repository/SpecialistRepository.php` | Doctrine repository: SpecialistRepository |
|
||||
| `sova-backend/src/Repository/StockRepository.php` | Doctrine repository: StockRepository |
|
||||
| `sova-backend/src/Repository/UserRepository.php` | Doctrine repository: UserRepository |
|
||||
| `sova-backend/src/Repository/WebGetDocinfoRepository.php` | Doctrine repository: WebGetDocinfoRepository |
|
||||
| `sova-backend/src/Repository/WidgetFormInputRepository.php` | Doctrine repository: WidgetFormInputRepository |
|
||||
| `sova-backend/src/Repository/WidgetFormRepository.php` | Doctrine repository: WidgetFormRepository |
|
||||
|
||||
|
||||
## `sova-backend/src/Serializer/Normalizer/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Serializer/Normalizer/FilialNormalizer.php` | PHP (Symfony) |
|
||||
| `sova-backend/src/Serializer/Normalizer/SpecialistDocsNormalizer.php` | PHP (Symfony) |
|
||||
| `sova-backend/src/Serializer/Normalizer/SpecialistNormalizer.php` | PHP (Symfony) |
|
||||
| `sova-backend/src/Serializer/Normalizer/StockNormalizer.php` | PHP (Symfony) |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/DiseaseCrudService.php` | Service: DiseaseCrudService |
|
||||
| `sova-backend/src/Service/MedicalCenterCrudService.php` | Service: MedicalCenterCrudService |
|
||||
| `sova-backend/src/Service/NewsCrudService.php` | Service: NewsCrudService |
|
||||
| `sova-backend/src/Service/PromoCrudService.php` | Service: PromoCrudService |
|
||||
| `sova-backend/src/Service/SiteServiceCrudService.php` | Service: SiteServiceCrudService |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/Bitrix/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/Bitrix/BitrixService.php` | Service: BitrixService |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/Client/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/Client/AbstractHttpClientService.php` | Service: AbstractHttpClientService |
|
||||
| `sova-backend/src/Service/Client/BitrixClientService.php` | Service: BitrixClientService |
|
||||
| `sova-backend/src/Service/Client/CalltouchClientService.php` | Service: CalltouchClientService |
|
||||
| `sova-backend/src/Service/Client/InfoclinicaClientService.php` | Service: InfoclinicaClientService |
|
||||
| `sova-backend/src/Service/Client/SmartCaptchaClientService.php` | Service: SmartCaptchaClientService |
|
||||
| `sova-backend/src/Service/Client/Sms4bClientService.php` | Service: Sms4bClientService |
|
||||
| `sova-backend/src/Service/Client/SmsruClientService.php` | Service: SmsruClientService |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/Client/Interfaces/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/Client/Interfaces/AbstractHttpClientServiceInterface.php` | Service: AbstractHttpClientServiceInterface |
|
||||
| `sova-backend/src/Service/Client/Interfaces/BitrixClientServiceInterface.php` | Service: BitrixClientServiceInterface |
|
||||
| `sova-backend/src/Service/Client/Interfaces/CalltouchClientServiceInterface.php` | Service: CalltouchClientServiceInterface |
|
||||
| `sova-backend/src/Service/Client/Interfaces/InfoclinicaClientServiceInterface.php` | Service: InfoclinicaClientServiceInterface |
|
||||
| `sova-backend/src/Service/Client/Interfaces/SmartCaptchaClientServiceInterface.php` | Service: SmartCaptchaClientServiceInterface |
|
||||
| `sova-backend/src/Service/Client/Interfaces/SmsClientServiceInterface.php` | Service: SmsClientServiceInterface |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/Client/Stub/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/Client/Stub/AlwaysValidSmartCaptchaClientService.php` | Service: AlwaysValidSmartCaptchaClientService |
|
||||
| `sova-backend/src/Service/Client/Stub/NoopCalltouchClientService.php` | Service: NoopCalltouchClientService |
|
||||
| `sova-backend/src/Service/Client/Stub/NoopSmsClientService.php` | Service: NoopSmsClientService |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/Crud/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/Crud/CrudResponder.php` | Service: CrudResponder |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/Crypt/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/Crypt/AESCryptService.php` | Service: AESCryptService |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/Crypt/Interfaces/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/Crypt/Interfaces/AESCryptServiceInterface.php` | Service: AESCryptServiceInterface |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/DecoderJWT/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/DecoderJWT/JWTDecoderService.php` | Service: JWTDecoderService |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/DecoderJWT/Interfaces/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/DecoderJWT/Interfaces/JWTDecoderServiceInterface.php` | Service: JWTDecoderServiceInterface |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/Department/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/Department/DepartmentService.php` | Service: DepartmentService |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/ErrorHandler/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/ErrorHandler/ScheduleErrorHandlerService.php` | Service: ScheduleErrorHandlerService |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/FileUploader/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/FileUploader/FileUploaderService.php` | Service: FileUploaderService |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/FileUploader/Interfaces/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/FileUploader/Interfaces/FileUploaderServiceInterface.php` | Service: FileUploaderServiceInterface |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/Filial/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/Filial/FilialService.php` | Service: FilialService |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/Helper/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/Helper/HelperService.php` | Service: HelperService |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/Image/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/Image/ImageService.php` | Service: ImageService |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/Image/Interfaces/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/Image/Interfaces/ImageServiceInterface.php` | Service: ImageServiceInterface |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/Location/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/Location/LocationService.php` | Service: LocationService |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/Mail/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/Mail/SendMailConfig.php` | Service: SendMailConfig |
|
||||
| `sova-backend/src/Service/Mail/SendMailService.php` | Service: SendMailService |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/Pagination/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/Pagination/Paginator.php` | Service: Paginator |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/Performance/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/Performance/PerformanceTrackerService.php` | Service: PerformanceTrackerService |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/PriceList/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/PriceList/PriceListService.php` | Service: PriceListService |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/ScheduleCache/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/ScheduleCache/ScheduleCacheService.php` | Service: ScheduleCacheService |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/Sequence/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/Sequence/SequenceService.php` | Service: SequenceService |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/Specialist/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/Specialist/SpecialistService.php` | Service: SpecialistService |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/Specialist/Interfaces/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/Specialist/Interfaces/SpecialistServiceInterface.php` | Service: SpecialistServiceInterface |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/Translite/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/Translite/TransliteService.php` | Service: TransliteService |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/Translite/Interfaces/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/Translite/Interfaces/TransliteServiceInterface.php` | Service: TransliteServiceInterface |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/User/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/User/AuthenticationService.php` | Service: AuthenticationService |
|
||||
| `sova-backend/src/Service/User/RegistrationService.php` | Service: RegistrationService |
|
||||
| `sova-backend/src/Service/User/UserProfileService.php` | Service: UserProfileService |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/User/Interfaces/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/User/Interfaces/AuthenticationServiceInterface.php` | Service: AuthenticationServiceInterface |
|
||||
| `sova-backend/src/Service/User/Interfaces/RegistrationServiceInterface.php` | Service: RegistrationServiceInterface |
|
||||
| `sova-backend/src/Service/User/Interfaces/UserProfileServiceInterface.php` | Service: UserProfileServiceInterface |
|
||||
|
||||
|
||||
## `sova-backend/src/Service/XmlFeedGenerator/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/src/Service/XmlFeedGenerator/XmlFeedGeneratorService.php` | Service: XmlFeedGeneratorService |
|
||||
| `sova-backend/src/Service/XmlFeedGenerator/XmlFeedGeneratorV1Service.php` | Service: XmlFeedGeneratorV1Service |
|
||||
|
||||
|
||||
## `sova-backend/templates/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/templates/base.html.twig` | Twig template: base.html.twig |
|
||||
| `sova-backend/templates/base_plain.html.twig` | Twig template: base_plain.html.twig |
|
||||
|
||||
|
||||
## `sova-backend/templates/bundles/NelmioApiDocBundle/SwaggerUi/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/templates/bundles/NelmioApiDocBundle/SwaggerUi/index.html.twig` | Twig template: bundles/NelmioApiDocBundle/SwaggerUi/index.html.twig |
|
||||
|
||||
|
||||
## `sova-backend/templates/service/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/templates/service/comingsoon.html.twig` | Twig template: service/comingsoon.html.twig |
|
||||
|
||||
|
||||
## `sova-backend/tests/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/tests/bootstrap.php` | PHP (Symfony) |
|
||||
|
||||
|
||||
## `sova-backend/tests/Controller/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/tests/Controller/CalltouchControllerTest.php` | Symfony controller: CalltouchControllerTest |
|
||||
| `sova-backend/tests/Controller/CertificateControllerTest.php` | Symfony controller: CertificateControllerTest |
|
||||
| `sova-backend/tests/Controller/InfoclinicaControllerTest.php` | Symfony controller: InfoclinicaControllerTest |
|
||||
| `sova-backend/tests/Controller/InfoclinicaDoctorControllerTest.php` | Symfony controller: InfoclinicaDoctorControllerTest |
|
||||
| `sova-backend/tests/Controller/LocationControllerTest.php` | Symfony controller: LocationControllerTest |
|
||||
| `sova-backend/tests/Controller/ServiceControllerTest.php` | Symfony controller: ServiceControllerTest |
|
||||
| `sova-backend/tests/Controller/StockControllerTest.php` | Symfony controller: StockControllerTest |
|
||||
|
||||
|
||||
## `sova-backend/tests/Service/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/tests/Service/AESCryptServiceTest.php` | Service: AESCryptServiceTest |
|
||||
| `sova-backend/tests/Service/BitrixServiceTest.php` | Service: BitrixServiceTest |
|
||||
| `sova-backend/tests/Service/CalltouchClientServiceTest.php` | Service: CalltouchClientServiceTest |
|
||||
| `sova-backend/tests/Service/ImageServiceTest.php` | Service: ImageServiceTest |
|
||||
| `sova-backend/tests/Service/InfoclinicaClientServiceTest.php` | Service: InfoclinicaClientServiceTest |
|
||||
| `sova-backend/tests/Service/MessageSenderServiceTest.php` | Service: MessageSenderServiceTest |
|
||||
| `sova-backend/tests/Service/SchedulerTransportTest.php` | Service: SchedulerTransportTest |
|
||||
| `sova-backend/tests/Service/Sms4bClientServiceTest.php` | Service: Sms4bClientServiceTest |
|
||||
| `sova-backend/tests/Service/SmsruClientServiceTest.php` | Service: SmsruClientServiceTest |
|
||||
|
||||
|
||||
## `sova-backend/translations/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-backend/translations/.gitignore` | Git ignore rules |
|
||||
@@ -0,0 +1,888 @@
|
||||
# sova-cabinet: Symfony ЛК
|
||||
|
||||
Личный кабинет пациента: регистрация, запись, оплата.
|
||||
|
||||
**Файлов:** 428
|
||||
|
||||
|
||||
## `sova-cabinet/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/.env` | Файл проекта |
|
||||
| `sova-cabinet/.env.ci` | Файл проекта |
|
||||
| `sova-cabinet/.env.dev` | Файл проекта |
|
||||
| `sova-cabinet/.env.test` | Файл проекта |
|
||||
| `sova-cabinet/.gitignore` | Git ignore rules |
|
||||
| `sova-cabinet/.phpunit.result.cache` | Файл проекта |
|
||||
| `sova-cabinet/Dockerfile` | Docker multistage build |
|
||||
| `sova-cabinet/composer.json` | PHP Composer зависимости |
|
||||
| `sova-cabinet/composer.lock` | Composer lockfile |
|
||||
| `sova-cabinet/docker-compose.yml` | Docker Compose (моки / cabinet dev) |
|
||||
| `sova-cabinet/issues-27.html` | HTML |
|
||||
| `sova-cabinet/mr.diff` | Файл проекта |
|
||||
| `sova-cabinet/package.json` | NPM/Yarn зависимости и scripts |
|
||||
| `sova-cabinet/phpunit.xml.dist` | Файл проекта |
|
||||
| `sova-cabinet/symfony.lock` | Lockfile (Helm/composer/yarn) |
|
||||
| `sova-cabinet/webpack.config.js` | Webpack Encore конфиг |
|
||||
| `sova-cabinet/yarn.lock` | Yarn lockfile |
|
||||
|
||||
|
||||
## `sova-cabinet/.gitea/workflows/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/.gitea/workflows/build.yml` | Gitea Actions CI pipeline |
|
||||
|
||||
|
||||
## `sova-cabinet/assets/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/assets/bootstrap.js` | JavaScript |
|
||||
| `sova-cabinet/assets/controllers.json` | JSON-данные / конфиг |
|
||||
| `sova-cabinet/assets/loader_bitrix.js` | JavaScript |
|
||||
| `sova-cabinet/assets/loader_sovamed.js` | JavaScript |
|
||||
| `sova-cabinet/assets/loader_widget.js` | JavaScript |
|
||||
| `sova-cabinet/assets/loader_wmtmed.js` | JavaScript |
|
||||
| `sova-cabinet/assets/window.js` | JavaScript |
|
||||
|
||||
|
||||
## `sova-cabinet/assets/components/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/assets/components/helper.js` | JavaScript |
|
||||
| `sova-cabinet/assets/components/loader.js` | JavaScript |
|
||||
| `sova-cabinet/assets/components/misSession.js` | JavaScript |
|
||||
| `sova-cabinet/assets/components/onlineMode.js` | JavaScript |
|
||||
| `sova-cabinet/assets/components/record.js` | JavaScript |
|
||||
| `sova-cabinet/assets/components/testSdk.js` | Stub WrSDK/SmartCaptcha для *.sova.local |
|
||||
| `sova-cabinet/assets/components/validator.js` | JavaScript |
|
||||
|
||||
|
||||
## `sova-cabinet/assets/controllers/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/assets/controllers/alertSystem_controller.js` | Stimulus controller: alertSystem |
|
||||
| `sova-cabinet/assets/controllers/bannersRegion_controller.js` | Stimulus controller: bannersRegion |
|
||||
| `sova-cabinet/assets/controllers/calendar_controller.js` | Stimulus controller: calendar |
|
||||
| `sova-cabinet/assets/controllers/caseHistory_controller.js` | Stimulus controller: caseHistory |
|
||||
| `sova-cabinet/assets/controllers/changePatient_controller.js` | Stimulus controller: changePatient |
|
||||
| `sova-cabinet/assets/controllers/changeRegion_controller.js` | Stimulus controller: changeRegion |
|
||||
| `sova-cabinet/assets/controllers/checkScheduleBitrix_controller.js` | Stimulus controller: checkScheduleBitrix |
|
||||
| `sova-cabinet/assets/controllers/checkSchedule_controller.js` | Stimulus controller: checkSchedule |
|
||||
| `sova-cabinet/assets/controllers/cookieNotice_controller.js` | Stimulus controller: cookieNotice |
|
||||
| `sova-cabinet/assets/controllers/datePicker_controller.js` | Stimulus controller: datePicker |
|
||||
| `sova-cabinet/assets/controllers/docYuorHome_controller.js` | Stimulus controller: docYuorHome |
|
||||
| `sova-cabinet/assets/controllers/doc_controller.js` | Stimulus controller: doc |
|
||||
| `sova-cabinet/assets/controllers/favoritesBtn_controller.js` | Stimulus controller: favoritesBtn |
|
||||
| `sova-cabinet/assets/controllers/favoritesNaw_controller.js` | Stimulus controller: favoritesNaw |
|
||||
| `sova-cabinet/assets/controllers/favorites_controller.js` | Stimulus controller: favorites |
|
||||
| `sova-cabinet/assets/controllers/filterMenu_controller.js` | Stimulus controller: filterMenu |
|
||||
| `sova-cabinet/assets/controllers/inputMask_controller.js` | Stimulus controller: inputMask |
|
||||
| `sova-cabinet/assets/controllers/jivo_controller.js` | Stimulus controller: jivo |
|
||||
| `sova-cabinet/assets/controllers/kinderFilter_controller.js` | Stimulus controller: kinderFilter |
|
||||
| `sova-cabinet/assets/controllers/menu_controller.js` | Stimulus controller: menu |
|
||||
| `sova-cabinet/assets/controllers/mobileSearchOrderByInput_controller.js` | Stimulus controller: mobileSearchOrderByInput |
|
||||
| `sova-cabinet/assets/controllers/modal_controller.js` | Stimulus controller: modal |
|
||||
| `sova-cabinet/assets/controllers/passwordShow_controller.js` | Stimulus controller: passwordShow |
|
||||
| `sova-cabinet/assets/controllers/payment_controller.js` | Stimulus controller: payment |
|
||||
| `sova-cabinet/assets/controllers/priceList_controller.js` | Stimulus controller: priceList |
|
||||
| `sova-cabinet/assets/controllers/quickDateRange_controller.js` | Stimulus controller: quickDateRange |
|
||||
| `sova-cabinet/assets/controllers/reference_controller.js` | Stimulus controller: reference |
|
||||
| `sova-cabinet/assets/controllers/registration_controller.js` | Stimulus controller: registration |
|
||||
| `sova-cabinet/assets/controllers/resetPassword_controller.js` | Stimulus controller: resetPassword |
|
||||
| `sova-cabinet/assets/controllers/scrollTop_controller.js` | Stimulus controller: scrollTop |
|
||||
| `sova-cabinet/assets/controllers/searchButton_controller.js` | Stimulus controller: searchButton |
|
||||
| `sova-cabinet/assets/controllers/searchNameInput_controller.js` | Stimulus controller: searchNameInput |
|
||||
| `sova-cabinet/assets/controllers/searchOrderByInput_controller.js` | Stimulus controller: searchOrderByInput |
|
||||
| `sova-cabinet/assets/controllers/securityCard_controller.js` | Stimulus controller: securityCard |
|
||||
| `sova-cabinet/assets/controllers/selectpicker_controller.js` | Stimulus controller: selectpicker |
|
||||
| `sova-cabinet/assets/controllers/serviceDesk_controller.js` | Stimulus controller: serviceDesk |
|
||||
| `sova-cabinet/assets/controllers/setting_controller.js` | Stimulus controller: setting |
|
||||
| `sova-cabinet/assets/controllers/signin_controller.js` | Stimulus controller: signin |
|
||||
| `sova-cabinet/assets/controllers/slideshow_controller.js` | Stimulus: lazy import owl.carousel |
|
||||
| `sova-cabinet/assets/controllers/smartCaptcha_controller.js` | Stimulus controller: smartCaptcha |
|
||||
| `sova-cabinet/assets/controllers/specialistView_controller.js` | Stimulus controller: specialistView |
|
||||
| `sova-cabinet/assets/controllers/swaggerUI_controller.js` | Stimulus controller: swaggerUI |
|
||||
| `sova-cabinet/assets/controllers/uslugi_controller.js` | Stimulus controller: uslugi |
|
||||
| `sova-cabinet/assets/controllers/widgets_controller.js` | Stimulus controller: widgets |
|
||||
|
||||
|
||||
## `sova-cabinet/assets/fonts/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/assets/fonts/Circe-Bold.eot` | Embedded OpenType font |
|
||||
| `sova-cabinet/assets/fonts/Circe-Bold.ttf` | TrueType font |
|
||||
| `sova-cabinet/assets/fonts/Circe-Bold.woff` | Web-font |
|
||||
| `sova-cabinet/assets/fonts/Circe-ExtraBold.eot` | Embedded OpenType font |
|
||||
| `sova-cabinet/assets/fonts/Circe-ExtraBold.ttf` | TrueType font |
|
||||
| `sova-cabinet/assets/fonts/Circe-ExtraBold.woff` | Web-font |
|
||||
| `sova-cabinet/assets/fonts/Circe-ExtraLight.eot` | Embedded OpenType font |
|
||||
| `sova-cabinet/assets/fonts/Circe-ExtraLight.ttf` | TrueType font |
|
||||
| `sova-cabinet/assets/fonts/Circe-ExtraLight.woff` | Web-font |
|
||||
| `sova-cabinet/assets/fonts/Circe-Light.eot` | Embedded OpenType font |
|
||||
| `sova-cabinet/assets/fonts/Circe-Light.ttf` | TrueType font |
|
||||
| `sova-cabinet/assets/fonts/Circe-Light.woff` | Web-font |
|
||||
| `sova-cabinet/assets/fonts/Circe-Regular.eot` | Embedded OpenType font |
|
||||
| `sova-cabinet/assets/fonts/Circe-Regular.ttf` | TrueType font |
|
||||
| `sova-cabinet/assets/fonts/Circe-Regular.woff` | Web-font |
|
||||
| `sova-cabinet/assets/fonts/Circe-Thin.eot` | Embedded OpenType font |
|
||||
| `sova-cabinet/assets/fonts/Circe-Thin.ttf` | TrueType font |
|
||||
| `sova-cabinet/assets/fonts/Circe-Thin.woff` | Web-font |
|
||||
| `sova-cabinet/assets/fonts/demo.html` | HTML |
|
||||
| `sova-cabinet/assets/fonts/stylesheet.css` | CSS-стили |
|
||||
|
||||
|
||||
## `sova-cabinet/assets/img/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/assets/img/3-staff.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/assets/img/arrow-down.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/assets/img/calendar-input.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/assets/img/calendar.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/assets/img/check.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/assets/img/checkbox.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/assets/img/checkbox_active.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/assets/img/close.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/assets/img/fake-img.jpg` | JPEG-изображение |
|
||||
| `sova-cabinet/assets/img/favorites.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/assets/img/filter-ico.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/assets/img/filter.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/assets/img/ny_top.png` | PNG-изображение |
|
||||
| `sova-cabinet/assets/img/place.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/assets/img/repeat-visit.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/assets/img/search-ico.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/assets/img/select-arrow-down.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/assets/img/select-arrow-up.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/assets/img/sova-bonus-logo.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/assets/img/staff-icon.png` | PNG-изображение |
|
||||
| `sova-cabinet/assets/img/up-arrow.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/assets/img/user.svg` | SVG-иконка / изображение |
|
||||
|
||||
|
||||
## `sova-cabinet/assets/sass/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/assets/sass/_fonts.scss` | SCSS entry: _fonts.scss |
|
||||
| `sova-cabinet/assets/sass/bs4.scss` | SCSS entry: bs4.scss |
|
||||
| `sova-cabinet/assets/sass/main.scss` | SCSS entry: main.scss |
|
||||
| `sova-cabinet/assets/sass/main_bitrix.scss` | SCSS entry: main_bitrix.scss |
|
||||
| `sova-cabinet/assets/sass/main_widget.scss` | SCSS entry: main_widget.scss |
|
||||
| `sova-cabinet/assets/sass/main_wmtmed.scss` | SCSS entry: main_wmtmed.scss |
|
||||
|
||||
|
||||
## `sova-cabinet/bin/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/bin/console` | Symfony CLI entry |
|
||||
| `sova-cabinet/bin/phpunit` | PHPUnit runner wrapper |
|
||||
|
||||
|
||||
## `sova-cabinet/config/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/config/bundles.php` | PHP (Symfony) |
|
||||
| `sova-cabinet/config/preload.php` | PHP (Symfony) |
|
||||
| `sova-cabinet/config/routes.yaml` | YAML-конфиг / Helm / K8s |
|
||||
| `sova-cabinet/config/services.yaml` | YAML-конфиг / Helm / K8s |
|
||||
|
||||
|
||||
## `sova-cabinet/config/packages/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/config/packages/assets.yaml` | Symfony bundle config: assets.yaml |
|
||||
| `sova-cabinet/config/packages/cache.yaml` | Symfony bundle config: cache.yaml |
|
||||
| `sova-cabinet/config/packages/doctrine.yaml` | Symfony bundle config: doctrine.yaml |
|
||||
| `sova-cabinet/config/packages/doctrine_migrations.yaml` | Symfony bundle config: doctrine_migrations.yaml |
|
||||
| `sova-cabinet/config/packages/framework.yaml` | Symfony bundle config: framework.yaml |
|
||||
| `sova-cabinet/config/packages/knp_paginator.yaml` | Symfony bundle config: knp_paginator.yaml |
|
||||
| `sova-cabinet/config/packages/mailer.yaml` | Symfony bundle config: mailer.yaml |
|
||||
| `sova-cabinet/config/packages/nelmio_cors.yaml` | Symfony bundle config: nelmio_cors.yaml |
|
||||
| `sova-cabinet/config/packages/notifier.yaml` | Symfony bundle config: notifier.yaml |
|
||||
| `sova-cabinet/config/packages/routing.yaml` | Symfony bundle config: routing.yaml |
|
||||
| `sova-cabinet/config/packages/security.yaml` | Symfony bundle config: security.yaml |
|
||||
| `sova-cabinet/config/packages/sensio_framework_extra.yaml` | Symfony bundle config: sensio_framework_extra.yaml |
|
||||
| `sova-cabinet/config/packages/translation.yaml` | Symfony bundle config: translation.yaml |
|
||||
| `sova-cabinet/config/packages/twig.yaml` | Symfony bundle config: twig.yaml |
|
||||
| `sova-cabinet/config/packages/validator.yaml` | Symfony bundle config: validator.yaml |
|
||||
| `sova-cabinet/config/packages/webpack_encore.yaml` | Symfony bundle config: webpack_encore.yaml |
|
||||
|
||||
|
||||
## `sova-cabinet/config/packages/dev/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/config/packages/dev/debug.yaml` | Symfony bundle config: debug.yaml |
|
||||
| `sova-cabinet/config/packages/dev/monolog.yaml` | Symfony bundle config: monolog.yaml |
|
||||
| `sova-cabinet/config/packages/dev/web_profiler.yaml` | Symfony bundle config: web_profiler.yaml |
|
||||
|
||||
|
||||
## `sova-cabinet/config/packages/prod/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/config/packages/prod/deprecations.yaml` | Symfony bundle config: deprecations.yaml |
|
||||
| `sova-cabinet/config/packages/prod/doctrine.yaml` | Symfony bundle config: doctrine.yaml |
|
||||
| `sova-cabinet/config/packages/prod/monolog.yaml` | Symfony bundle config: monolog.yaml |
|
||||
| `sova-cabinet/config/packages/prod/routing.yaml` | Symfony bundle config: routing.yaml |
|
||||
| `sova-cabinet/config/packages/prod/webpack_encore.yaml` | Symfony bundle config: webpack_encore.yaml |
|
||||
|
||||
|
||||
## `sova-cabinet/config/packages/test/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/config/packages/test/doctrine.yaml` | Symfony bundle config: doctrine.yaml |
|
||||
| `sova-cabinet/config/packages/test/framework.yaml` | Symfony bundle config: framework.yaml |
|
||||
| `sova-cabinet/config/packages/test/monolog.yaml` | Symfony bundle config: monolog.yaml |
|
||||
| `sova-cabinet/config/packages/test/twig.yaml` | Symfony bundle config: twig.yaml |
|
||||
| `sova-cabinet/config/packages/test/validator.yaml` | Symfony bundle config: validator.yaml |
|
||||
| `sova-cabinet/config/packages/test/web_profiler.yaml` | Symfony bundle config: web_profiler.yaml |
|
||||
| `sova-cabinet/config/packages/test/webpack_encore.yaml` | Symfony bundle config: webpack_encore.yaml |
|
||||
|
||||
|
||||
## `sova-cabinet/config/routes/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/config/routes/annotations.yaml` | YAML-конфиг / Helm / K8s |
|
||||
|
||||
|
||||
## `sova-cabinet/config/routes/dev/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/config/routes/dev/framework.yaml` | YAML-конфиг / Helm / K8s |
|
||||
| `sova-cabinet/config/routes/dev/web_profiler.yaml` | YAML-конфиг / Helm / K8s |
|
||||
|
||||
|
||||
## `sova-cabinet/docker/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/docker/fpm-pool.conf` | Файл проекта |
|
||||
|
||||
|
||||
## `sova-cabinet/migrations/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/migrations/.gitignore` | Git ignore rules |
|
||||
| `sova-cabinet/migrations/Version20250905084451.php` | Doctrine migration |
|
||||
| `sova-cabinet/migrations/Version20250906131236.php` | Doctrine migration |
|
||||
| `sova-cabinet/migrations/Version20250907100913.php` | Doctrine migration |
|
||||
|
||||
|
||||
## `sova-cabinet/public/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/public/.htaccess` | Файл проекта |
|
||||
| `sova-cabinet/public/comingSoon.php` | PHP (Symfony) |
|
||||
| `sova-cabinet/public/favicon_sovamed.ico` | Favicon |
|
||||
| `sova-cabinet/public/favicon_wmtmed.ico` | Favicon |
|
||||
| `sova-cabinet/public/index.php` | HTTP front controller Symfony |
|
||||
| `sova-cabinet/public/robots.txt` | Файл проекта |
|
||||
|
||||
|
||||
## `sova-cabinet/public/comingSoon/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/public/comingSoon/bootstrap.min.css` | CSS-стили |
|
||||
|
||||
|
||||
## `sova-cabinet/public/docs/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/public/docs/ids.pdf` | PDF-документ |
|
||||
| `sova-cabinet/public/docs/oferta.pdf` | PDF-документ |
|
||||
| `sova-cabinet/public/docs/online.pdf` | PDF-документ |
|
||||
| `sova-cabinet/public/docs/onlinegos.pdf` | PDF-документ |
|
||||
| `sova-cabinet/public/docs/soglasie-cabinet.pdf` | PDF-документ |
|
||||
| `sova-cabinet/public/docs/soglasie-site.pdf` | PDF-документ |
|
||||
| `sova-cabinet/public/docs/sovamed-cookie.pdf` | PDF-документ |
|
||||
| `sova-cabinet/public/docs/vozvrat.pdf` | PDF-документ |
|
||||
| `sova-cabinet/public/docs/wmtmed-cookie.pdf` | PDF-документ |
|
||||
|
||||
|
||||
## `sova-cabinet/public/images/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/public/images/checkmark.png` | PNG-изображение |
|
||||
| `sova-cabinet/public/images/eclipse.gif` | Файл проекта |
|
||||
| `sova-cabinet/public/images/eisa.jpg` | JPEG-изображение |
|
||||
| `sova-cabinet/public/images/logo-sova.jpg` | JPEG-изображение |
|
||||
| `sova-cabinet/public/images/logo.png` | PNG-изображение |
|
||||
| `sova-cabinet/public/images/logo.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/public/images/logo_mobile.png` | PNG-изображение |
|
||||
| `sova-cabinet/public/images/mobile-logo.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/public/images/no_img.png` | PNG-изображение |
|
||||
|
||||
|
||||
## `sova-cabinet/public/img/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/public/img/3-staff.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/public/img/arrow-down.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/public/img/calendar-input.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/public/img/calendar.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/public/img/check.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/public/img/checkbox.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/public/img/checkbox_active.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/public/img/close.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/public/img/fake-img.jpg` | JPEG-изображение |
|
||||
| `sova-cabinet/public/img/favorites.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/public/img/filter-ico.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/public/img/filter.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/public/img/logo.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/public/img/mobile-logo.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/public/img/place.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/public/img/repeat-visit.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/public/img/search-ico.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/public/img/select-arrow-down.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/public/img/select-arrow-up.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/public/img/sova-bonus-logo.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/public/img/staff-icon.png` | PNG-изображение |
|
||||
| `sova-cabinet/public/img/up-arrow.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/public/img/user.svg` | SVG-иконка / изображение |
|
||||
|
||||
|
||||
## `sova-cabinet/public/img/logo/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/public/img/logo/2gis.png` | PNG-изображение |
|
||||
| `sova-cabinet/public/img/logo/Google.png` | PNG-изображение |
|
||||
| `sova-cabinet/public/img/logo/ProDoctorov.png` | PNG-изображение |
|
||||
| `sova-cabinet/public/img/logo/ProDoctorovSpecialists.png` | PNG-изображение |
|
||||
| `sova-cabinet/public/img/logo/YandexMap.png` | PNG-изображение |
|
||||
| `sova-cabinet/public/img/logo/zoon.png` | PNG-изображение |
|
||||
|
||||
|
||||
## `sova-cabinet/public/img/logo_wmt/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/public/img/logo_wmt/logo-pdf.jpg` | JPEG-изображение |
|
||||
| `sova-cabinet/public/img/logo_wmt/logo.svg` | SVG-иконка / изображение |
|
||||
| `sova-cabinet/public/img/logo_wmt/mobile-logo.png` | PNG-изображение |
|
||||
|
||||
|
||||
## `sova-cabinet/public/widgets/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/public/widgets/_wf_cabinet.js` | JavaScript |
|
||||
| `sova-cabinet/public/widgets/wf_cabinet.md` | Документация Markdown |
|
||||
| `sova-cabinet/public/widgets/wf_cabinet.min.js` | JavaScript |
|
||||
|
||||
|
||||
## `sova-cabinet/src/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/src/Kernel.php` | PHP (Symfony) |
|
||||
|
||||
|
||||
## `sova-cabinet/src/Bundle/Bitrix/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/src/Bundle/Bitrix/Request.php` | PHP (Symfony) |
|
||||
|
||||
|
||||
## `sova-cabinet/src/Bundle/Calltouch/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/src/Bundle/Calltouch/Request.php` | PHP (Symfony) |
|
||||
|
||||
|
||||
## `sova-cabinet/src/Bundle/Crypt/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/src/Bundle/Crypt/AES.php` | PHP (Symfony) |
|
||||
|
||||
|
||||
## `sova-cabinet/src/Bundle/Helper/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/src/Bundle/Helper/AmountInWords.php` | PHP (Symfony) |
|
||||
|
||||
|
||||
## `sova-cabinet/src/Bundle/Infoclinica/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/src/Bundle/Infoclinica/.gitignore` | Git ignore rules |
|
||||
| `sova-cabinet/src/Bundle/Infoclinica/Client.php` | PHP (Symfony) |
|
||||
| `sova-cabinet/src/Bundle/Infoclinica/Region.php` | PHP (Symfony) |
|
||||
| `sova-cabinet/src/Bundle/Infoclinica/Rest.php` | PHP (Symfony) |
|
||||
| `sova-cabinet/src/Bundle/Infoclinica/certificate.pem` | TLS/JWT ключ |
|
||||
|
||||
|
||||
## `sova-cabinet/src/Bundle/Notisend/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/src/Bundle/Notisend/Request.php` | PHP (Symfony) |
|
||||
|
||||
|
||||
## `sova-cabinet/src/Bundle/Sms/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/src/Bundle/Sms/Manager.php` | PHP (Symfony) |
|
||||
|
||||
|
||||
## `sova-cabinet/src/Bundle/Utils/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/src/Bundle/Utils/Logger.php` | PHP (Symfony) |
|
||||
|
||||
|
||||
## `sova-cabinet/src/Bundle/Yandex/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/src/Bundle/Yandex/Direct.php` | PHP (Symfony) |
|
||||
|
||||
|
||||
## `sova-cabinet/src/Command/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/src/Command/AesCommand.php` | Console command: AesCommand |
|
||||
| `sova-cabinet/src/Command/BaseCommand.php` | Console command: BaseCommand |
|
||||
| `sova-cabinet/src/Command/DiffDoctorsCommand.php` | Console command: DiffDoctorsCommand |
|
||||
| `sova-cabinet/src/Command/DirectCommand.php` | Console command: DirectCommand |
|
||||
| `sova-cabinet/src/Command/InfoclinicaCommand.php` | Console command: InfoclinicaCommand |
|
||||
| `sova-cabinet/src/Command/UploadDepInfoclinicaCommand.php` | Console command: UploadDepInfoclinicaCommand |
|
||||
| `sova-cabinet/src/Command/UploadDoctorsCommand.php` | Console command: UploadDoctorsCommand |
|
||||
| `sova-cabinet/src/Command/UploadDoctorsInfoclinicaCommand.php` | Console command: UploadDoctorsInfoclinicaCommand |
|
||||
| `sova-cabinet/src/Command/UploadDoctorsOnlineCommand.php` | Console command: UploadDoctorsOnlineCommand |
|
||||
| `sova-cabinet/src/Command/UploadPriceDepInfoclinicaCommand.php` | Console command: UploadPriceDepInfoclinicaCommand |
|
||||
| `sova-cabinet/src/Command/UploadPriceInfoclinicaCommand.php` | Console command: UploadPriceInfoclinicaCommand |
|
||||
| `sova-cabinet/src/Command/UserCleanupCommand.php` | Console command: UserCleanupCommand |
|
||||
|
||||
|
||||
## `sova-cabinet/src/Controller/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/src/Controller/.gitignore` | Git ignore rules |
|
||||
| `sova-cabinet/src/Controller/BannerController.php` | Symfony controller: BannerController |
|
||||
| `sova-cabinet/src/Controller/CalltouchAPIController.php` | Symfony controller: CalltouchAPIController |
|
||||
| `sova-cabinet/src/Controller/CategoryPageController.php` | Symfony controller: CategoryPageController |
|
||||
| `sova-cabinet/src/Controller/DefaultController.php` | Symfony controller: DefaultController |
|
||||
| `sova-cabinet/src/Controller/DepartmentController.php` | Symfony controller: DepartmentController |
|
||||
| `sova-cabinet/src/Controller/InternalAPIController.php` | Symfony controller: InternalAPIController |
|
||||
| `sova-cabinet/src/Controller/PageController.php` | Symfony controller: PageController |
|
||||
| `sova-cabinet/src/Controller/PublicAPIController.php` | Symfony controller: PublicAPIController |
|
||||
| `sova-cabinet/src/Controller/ReviewSourceController.php` | Symfony controller: ReviewSourceController |
|
||||
| `sova-cabinet/src/Controller/SecurityController.php` | Symfony controller: SecurityController |
|
||||
| `sova-cabinet/src/Controller/SpecialistController.php` | Symfony controller: SpecialistController |
|
||||
| `sova-cabinet/src/Controller/WidgetController.php` | Symfony controller: WidgetController |
|
||||
| `sova-cabinet/src/Controller/WidgetFormController.php` | Symfony controller: WidgetFormController |
|
||||
| `sova-cabinet/src/Controller/WidgetFormInputController.php` | Symfony controller: WidgetFormInputController |
|
||||
|
||||
|
||||
## `sova-cabinet/src/Entity/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/src/Entity/.gitignore` | Git ignore rules |
|
||||
| `sova-cabinet/src/Entity/AlertSms.php` | Doctrine entity: AlertSms |
|
||||
| `sova-cabinet/src/Entity/Banner.php` | Doctrine entity: Banner |
|
||||
| `sova-cabinet/src/Entity/CategoryPage.php` | Doctrine entity: CategoryPage |
|
||||
| `sova-cabinet/src/Entity/City.php` | Doctrine entity: City |
|
||||
| `sova-cabinet/src/Entity/Department.php` | Doctrine entity: Department |
|
||||
| `sova-cabinet/src/Entity/DirectCompany.php` | Doctrine entity: DirectCompany |
|
||||
| `sova-cabinet/src/Entity/DirectReport.php` | Doctrine entity: DirectReport |
|
||||
| `sova-cabinet/src/Entity/Filial.php` | Doctrine entity: Filial |
|
||||
| `sova-cabinet/src/Entity/LocationView.php` | Doctrine entity: LocationView |
|
||||
| `sova-cabinet/src/Entity/Page.php` | Doctrine entity: Page |
|
||||
| `sova-cabinet/src/Entity/Price.php` | Doctrine entity: Price |
|
||||
| `sova-cabinet/src/Entity/PriceDepartment.php` | Doctrine entity: PriceDepartment |
|
||||
| `sova-cabinet/src/Entity/PriceList.php` | Doctrine entity: PriceList |
|
||||
| `sova-cabinet/src/Entity/Record.php` | Doctrine entity: Record |
|
||||
| `sova-cabinet/src/Entity/Review.php` | Doctrine entity: Review |
|
||||
| `sova-cabinet/src/Entity/ReviewSource.php` | Doctrine entity: ReviewSource |
|
||||
| `sova-cabinet/src/Entity/SpecialistView.php` | Doctrine entity: SpecialistView |
|
||||
| `sova-cabinet/src/Entity/User.php` | Doctrine entity: User |
|
||||
| `sova-cabinet/src/Entity/Usrlog.php` | Doctrine entity: Usrlog |
|
||||
| `sova-cabinet/src/Entity/WidgetForm.php` | Doctrine entity: WidgetForm |
|
||||
| `sova-cabinet/src/Entity/WidgetFormInput.php` | Doctrine entity: WidgetFormInput |
|
||||
|
||||
|
||||
## `sova-cabinet/src/EventListener/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/src/EventListener/SessionIdQueryCookieListener.php` | PHP (Symfony) |
|
||||
| `sova-cabinet/src/EventListener/UserActivityListener.php` | PHP (Symfony) |
|
||||
| `sova-cabinet/src/EventListener/UsrlogAuthListener.php` | PHP (Symfony) |
|
||||
|
||||
|
||||
## `sova-cabinet/src/Form/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/src/Form/BannerType.php` | Form type: BannerType |
|
||||
| `sova-cabinet/src/Form/CategoryPageType.php` | Form type: CategoryPageType |
|
||||
| `sova-cabinet/src/Form/CityType.php` | Form type: CityType |
|
||||
| `sova-cabinet/src/Form/DepartmentType.php` | Form type: DepartmentType |
|
||||
| `sova-cabinet/src/Form/PageType.php` | Form type: PageType |
|
||||
| `sova-cabinet/src/Form/PriceListAdminFormType.php` | Form type: PriceListAdminFormType |
|
||||
| `sova-cabinet/src/Form/PriceListFormType.php` | Form type: PriceListFormType |
|
||||
| `sova-cabinet/src/Form/ReferenceType.php` | Form type: ReferenceType |
|
||||
| `sova-cabinet/src/Form/RefundType.php` | Form type: RefundType |
|
||||
| `sova-cabinet/src/Form/RegistrationFormType.php` | Form type: RegistrationFormType |
|
||||
| `sova-cabinet/src/Form/ReportFormType.php` | Form type: ReportFormType |
|
||||
| `sova-cabinet/src/Form/ReviewSourceType.php` | Form type: ReviewSourceType |
|
||||
| `sova-cabinet/src/Form/SettingType.php` | Form type: SettingType |
|
||||
| `sova-cabinet/src/Form/SpecialistAdminSearchType.php` | Form type: SpecialistAdminSearchType |
|
||||
| `sova-cabinet/src/Form/SpecialistSearchType.php` | Form type: SpecialistSearchType |
|
||||
| `sova-cabinet/src/Form/SpecialistType.php` | Form type: SpecialistType |
|
||||
| `sova-cabinet/src/Form/UsrlogType.php` | Form type: UsrlogType |
|
||||
| `sova-cabinet/src/Form/WidgetFormInputType.php` | Form type: WidgetFormInputType |
|
||||
| `sova-cabinet/src/Form/WidgetFormType.php` | Form type: WidgetFormType |
|
||||
|
||||
|
||||
## `sova-cabinet/src/Repository/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/src/Repository/.gitignore` | Git ignore rules |
|
||||
| `sova-cabinet/src/Repository/AlertSmsRepository.php` | Doctrine repository: AlertSmsRepository |
|
||||
| `sova-cabinet/src/Repository/BannerRepository.php` | Doctrine repository: BannerRepository |
|
||||
| `sova-cabinet/src/Repository/CategoryPageRepository.php` | Doctrine repository: CategoryPageRepository |
|
||||
| `sova-cabinet/src/Repository/CityRepository.php` | Doctrine repository: CityRepository |
|
||||
| `sova-cabinet/src/Repository/DepartmentRepository.php` | Doctrine repository: DepartmentRepository |
|
||||
| `sova-cabinet/src/Repository/DirectCompanyRepository.php` | Doctrine repository: DirectCompanyRepository |
|
||||
| `sova-cabinet/src/Repository/DirectReportRepository.php` | Doctrine repository: DirectReportRepository |
|
||||
| `sova-cabinet/src/Repository/FilialRepository.php` | Doctrine repository: FilialRepository |
|
||||
| `sova-cabinet/src/Repository/LocationViewRepository.php` | Doctrine repository: LocationViewRepository |
|
||||
| `sova-cabinet/src/Repository/PageRepository.php` | Doctrine repository: PageRepository |
|
||||
| `sova-cabinet/src/Repository/PriceDepartmentRepository.php` | Doctrine repository: PriceDepartmentRepository |
|
||||
| `sova-cabinet/src/Repository/PriceListRepository.php` | Doctrine repository: PriceListRepository |
|
||||
| `sova-cabinet/src/Repository/PriceRepository.php` | Doctrine repository: PriceRepository |
|
||||
| `sova-cabinet/src/Repository/RecordRepository.php` | Doctrine repository: RecordRepository |
|
||||
| `sova-cabinet/src/Repository/ReviewRepository.php` | Doctrine repository: ReviewRepository |
|
||||
| `sova-cabinet/src/Repository/ReviewSourceRepository.php` | Doctrine repository: ReviewSourceRepository |
|
||||
| `sova-cabinet/src/Repository/SpecialistViewRepository.php` | Doctrine repository: SpecialistViewRepository |
|
||||
| `sova-cabinet/src/Repository/UserRepository.php` | Doctrine repository: UserRepository |
|
||||
| `sova-cabinet/src/Repository/UsrlogRepository.php` | Doctrine repository: UsrlogRepository |
|
||||
| `sova-cabinet/src/Repository/WidgetFormInputRepository.php` | Doctrine repository: WidgetFormInputRepository |
|
||||
| `sova-cabinet/src/Repository/WidgetFormRepository.php` | Doctrine repository: WidgetFormRepository |
|
||||
|
||||
|
||||
## `sova-cabinet/src/Security/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/src/Security/LoginFormAuthenticator.php` | PHP (Symfony) |
|
||||
|
||||
|
||||
## `sova-cabinet/src/Service/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/src/Service/PriceListService.php` | Service: PriceListService |
|
||||
| `sova-cabinet/src/Service/SpecialistMoreService.php` | Service: SpecialistMoreService |
|
||||
| `sova-cabinet/src/Service/SpecialistService.php` | Service: SpecialistService |
|
||||
| `sova-cabinet/src/Service/UserCleanupService.php` | Service: UserCleanupService |
|
||||
|
||||
|
||||
## `sova-cabinet/src/Support/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/src/Support/OnlineMode.php` | PHP (Symfony) |
|
||||
|
||||
|
||||
## `sova-cabinet/src/Twig/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/src/Twig/AppExtension.php` | PHP (Symfony) |
|
||||
|
||||
|
||||
## `sova-cabinet/templates/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/templates/_calltouch.html.twig` | Twig template: _calltouch.html.twig |
|
||||
| `sova-cabinet/templates/_change_region.html.twig` | Twig template: _change_region.html.twig |
|
||||
| `sova-cabinet/templates/_metrika.html.twig` | Twig template: _metrika.html.twig |
|
||||
| `sova-cabinet/templates/admin_base.html.twig` | Twig template: admin_base.html.twig |
|
||||
| `sova-cabinet/templates/base.html.twig` | Twig template: base.html.twig |
|
||||
| `sova-cabinet/templates/base_pdf.html.twig` | Twig template: base_pdf.html.twig |
|
||||
| `sova-cabinet/templates/base_widget.html.twig` | Twig template: base_widget.html.twig |
|
||||
| `sova-cabinet/templates/base_wmtmed.html.twig` | Twig template: base_wmtmed.html.twig |
|
||||
| `sova-cabinet/templates/menu.html.twig` | Twig template: menu.html.twig |
|
||||
|
||||
|
||||
## `sova-cabinet/templates/banner/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/templates/banner/_delete_form.html.twig` | Twig template: banner/_delete_form.html.twig |
|
||||
| `sova-cabinet/templates/banner/_form.html.twig` | Twig template: banner/_form.html.twig |
|
||||
| `sova-cabinet/templates/banner/edit.html.twig` | Twig template: banner/edit.html.twig |
|
||||
| `sova-cabinet/templates/banner/index.html.twig` | Twig template: banner/index.html.twig |
|
||||
| `sova-cabinet/templates/banner/new.html.twig` | Twig template: banner/new.html.twig |
|
||||
|
||||
|
||||
## `sova-cabinet/templates/base/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/templates/base/_search_form_price.html.twig` | Twig template: base/_search_form_price.html.twig |
|
||||
| `sova-cabinet/templates/base/doc.html.twig` | Twig template: base/doc.html.twig |
|
||||
| `sova-cabinet/templates/base/doc_your_home.html.twig` | Twig template: base/doc_your_home.html.twig |
|
||||
| `sova-cabinet/templates/base/favorites.html.twig` | Twig template: base/favorites.html.twig |
|
||||
| `sova-cabinet/templates/base/help.html.twig` | Twig template: base/help.html.twig |
|
||||
| `sova-cabinet/templates/base/index.html.twig` | Twig template: base/index.html.twig |
|
||||
| `sova-cabinet/templates/base/paginator.html.twig` | Twig template: base/paginator.html.twig |
|
||||
| `sova-cabinet/templates/base/patient.html.twig` | Twig template: base/patient.html.twig |
|
||||
| `sova-cabinet/templates/base/price.html.twig` | Twig template: base/price.html.twig |
|
||||
| `sova-cabinet/templates/base/price_list.html.twig` | Twig template: base/price_list.html.twig |
|
||||
|
||||
|
||||
## `sova-cabinet/templates/category_page/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/templates/category_page/_delete_form.html.twig` | Twig template: category_page/_delete_form.html.twig |
|
||||
| `sova-cabinet/templates/category_page/_form.html.twig` | Twig template: category_page/_form.html.twig |
|
||||
| `sova-cabinet/templates/category_page/edit.html.twig` | Twig template: category_page/edit.html.twig |
|
||||
| `sova-cabinet/templates/category_page/index.html.twig` | Twig template: category_page/index.html.twig |
|
||||
| `sova-cabinet/templates/category_page/new.html.twig` | Twig template: category_page/new.html.twig |
|
||||
| `sova-cabinet/templates/category_page/show.html.twig` | Twig template: category_page/show.html.twig |
|
||||
|
||||
|
||||
## `sova-cabinet/templates/department/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/templates/department/_form.html.twig` | Twig template: department/_form.html.twig |
|
||||
| `sova-cabinet/templates/department/edit.html.twig` | Twig template: department/edit.html.twig |
|
||||
| `sova-cabinet/templates/department/index.html.twig` | Twig template: department/index.html.twig |
|
||||
|
||||
|
||||
## `sova-cabinet/templates/internal_api/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/templates/internal_api/swagger.html.twig` | Twig template: internal_api/swagger.html.twig |
|
||||
|
||||
|
||||
## `sova-cabinet/templates/page/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/templates/page/_delete_form.html.twig` | Twig template: page/_delete_form.html.twig |
|
||||
| `sova-cabinet/templates/page/_form.html.twig` | Twig template: page/_form.html.twig |
|
||||
| `sova-cabinet/templates/page/edit.html.twig` | Twig template: page/edit.html.twig |
|
||||
| `sova-cabinet/templates/page/index.html.twig` | Twig template: page/index.html.twig |
|
||||
| `sova-cabinet/templates/page/new.html.twig` | Twig template: page/new.html.twig |
|
||||
| `sova-cabinet/templates/page/show.html.twig` | Twig template: page/show.html.twig |
|
||||
|
||||
|
||||
## `sova-cabinet/templates/report/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/templates/report/_form.html.twig` | Twig template: report/_form.html.twig |
|
||||
| `sova-cabinet/templates/report/index.html.twig` | Twig template: report/index.html.twig |
|
||||
|
||||
|
||||
## `sova-cabinet/templates/review_source/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/templates/review_source/_delete_form.html.twig` | Twig template: review_source/_delete_form.html.twig |
|
||||
| `sova-cabinet/templates/review_source/_form.html.twig` | Twig template: review_source/_form.html.twig |
|
||||
| `sova-cabinet/templates/review_source/edit.html.twig` | Twig template: review_source/edit.html.twig |
|
||||
| `sova-cabinet/templates/review_source/index.html.twig` | Twig template: review_source/index.html.twig |
|
||||
| `sova-cabinet/templates/review_source/new.html.twig` | Twig template: review_source/new.html.twig |
|
||||
|
||||
|
||||
## `sova-cabinet/templates/security/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/templates/security/card.html.twig` | Twig template: security/card.html.twig |
|
||||
| `sova-cabinet/templates/security/case_history.html.twig` | Twig template: security/case_history.html.twig |
|
||||
| `sova-cabinet/templates/security/confirm.html.twig` | Twig template: security/confirm.html.twig |
|
||||
| `sova-cabinet/templates/security/login.html.twig` | Twig template: security/login.html.twig |
|
||||
| `sova-cabinet/templates/security/login_wmtmed.html.twig` | Twig template: security/login_wmtmed.html.twig |
|
||||
| `sova-cabinet/templates/security/payment.html.twig` | Twig template: security/payment.html.twig |
|
||||
| `sova-cabinet/templates/security/referrals.html.twig` | Twig template: security/referrals.html.twig |
|
||||
| `sova-cabinet/templates/security/refund_blank.html.twig` | Twig template: security/refund_blank.html.twig |
|
||||
| `sova-cabinet/templates/security/refund_form.html.twig` | Twig template: security/refund_form.html.twig |
|
||||
| `sova-cabinet/templates/security/register.html.twig` | Twig template: security/register.html.twig |
|
||||
| `sova-cabinet/templates/security/setting.html.twig` | Twig template: security/setting.html.twig |
|
||||
|
||||
|
||||
## `sova-cabinet/templates/specialist/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/templates/specialist/_calendar.html.twig` | Twig template: specialist/_calendar.html.twig |
|
||||
| `sova-cabinet/templates/specialist/_item.html.twig` | Twig template: specialist/_item.html.twig |
|
||||
| `sova-cabinet/templates/specialist/_reviews.html.twig` | Twig template: specialist/_reviews.html.twig |
|
||||
| `sova-cabinet/templates/specialist/_search_form.html.twig` | Twig template: specialist/_search_form.html.twig |
|
||||
| `sova-cabinet/templates/specialist/index.html.twig` | Twig template: specialist/index.html.twig |
|
||||
| `sova-cabinet/templates/specialist/show.html.twig` | Twig template: specialist/show.html.twig |
|
||||
|
||||
|
||||
## `sova-cabinet/templates/specialist/admin/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/templates/specialist/admin/_form.html.twig` | Twig template: specialist/admin/_form.html.twig |
|
||||
| `sova-cabinet/templates/specialist/admin/_toggle_form.html.twig` | Twig template: specialist/admin/_toggle_form.html.twig |
|
||||
| `sova-cabinet/templates/specialist/admin/index.html.twig` | Twig template: specialist/admin/index.html.twig |
|
||||
|
||||
|
||||
## `sova-cabinet/templates/widget/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/templates/widget/reference.html.twig` | Twig template: widget/reference.html.twig |
|
||||
| `sova-cabinet/templates/widget/review_source.html.twig` | Twig template: widget/review_source.html.twig |
|
||||
|
||||
|
||||
## `sova-cabinet/templates/widget_form/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/templates/widget_form/_delete_form.html.twig` | Twig template: widget_form/_delete_form.html.twig |
|
||||
| `sova-cabinet/templates/widget_form/_form.html.twig` | Twig template: widget_form/_form.html.twig |
|
||||
| `sova-cabinet/templates/widget_form/edit.html.twig` | Twig template: widget_form/edit.html.twig |
|
||||
| `sova-cabinet/templates/widget_form/editor.html.twig` | Twig template: widget_form/editor.html.twig |
|
||||
| `sova-cabinet/templates/widget_form/index.html.twig` | Twig template: widget_form/index.html.twig |
|
||||
| `sova-cabinet/templates/widget_form/new.html.twig` | Twig template: widget_form/new.html.twig |
|
||||
| `sova-cabinet/templates/widget_form/show.html.twig` | Twig template: widget_form/show.html.twig |
|
||||
|
||||
|
||||
## `sova-cabinet/templates/widget_form_input/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/templates/widget_form_input/_delete_form.html.twig` | Twig template: widget_form_input/_delete_form.html.twig |
|
||||
| `sova-cabinet/templates/widget_form_input/_form.html.twig` | Twig template: widget_form_input/_form.html.twig |
|
||||
| `sova-cabinet/templates/widget_form_input/edit.html.twig` | Twig template: widget_form_input/edit.html.twig |
|
||||
| `sova-cabinet/templates/widget_form_input/new.html.twig` | Twig template: widget_form_input/new.html.twig |
|
||||
|
||||
|
||||
## `sova-cabinet/tests/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/tests/bootstrap.php` | PHP (Symfony) |
|
||||
|
||||
|
||||
## `sova-cabinet/tests/Controller/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/tests/Controller/OnlineSpecialistsControllerTest.php` | Symfony controller: OnlineSpecialistsControllerTest |
|
||||
|
||||
|
||||
## `sova-cabinet/tests/Unit/Support/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/tests/Unit/Support/OnlineModeTest.php` | PHP (Symfony) |
|
||||
|
||||
|
||||
## `sova-cabinet/translations/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-cabinet/translations/.gitignore` | Git ignore rules |
|
||||
| `sova-cabinet/translations/KnpPaginatorBundle.ru.yaml` | YAML-конфиг / Helm / K8s |
|
||||
@@ -0,0 +1,264 @@
|
||||
# sova-deploy: Helm и ArgoCD
|
||||
|
||||
GitOps-репозиторий: Helm charts приложений, data layer, ArgoCD Applications и platform values.
|
||||
|
||||
**Файлов:** 56
|
||||
|
||||
|
||||
## `sova-deploy/apps/adminpanel/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/apps/adminpanel/Chart.yaml` | Helm chart metadata |
|
||||
| `sova-deploy/apps/adminpanel/values-stage.yaml` | Overrides для stage-контура |
|
||||
| `sova-deploy/apps/adminpanel/values-test.yaml` | Overrides для test-контура |
|
||||
| `sova-deploy/apps/adminpanel/values.yaml` | Базовые Helm values |
|
||||
|
||||
|
||||
## `sova-deploy/apps/adminpanel/templates/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/apps/adminpanel/templates/all.yaml` | Combined Helm template (Deployment/Service/Ingress) |
|
||||
|
||||
|
||||
## `sova-deploy/apps/backend/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/apps/backend/Chart.yaml` | Helm chart metadata |
|
||||
| `sova-deploy/apps/backend/values-stage.yaml` | Overrides для stage-контура |
|
||||
| `sova-deploy/apps/backend/values-test.yaml` | Overrides для test-контура |
|
||||
| `sova-deploy/apps/backend/values.yaml` | Базовые Helm values |
|
||||
|
||||
|
||||
## `sova-deploy/apps/backend/jwt/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/apps/backend/jwt/private.pem` | TLS/JWT ключ |
|
||||
| `sova-deploy/apps/backend/jwt/public.pem` | TLS/JWT ключ |
|
||||
|
||||
|
||||
## `sova-deploy/apps/backend/templates/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/apps/backend/templates/_console.tpl` | Helm template partial |
|
||||
| `sova-deploy/apps/backend/templates/all.yaml` | Combined Helm template (Deployment/Service/Ingress) |
|
||||
|
||||
|
||||
## `sova-deploy/apps/cabinet/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/apps/cabinet/Chart.yaml` | Helm chart metadata |
|
||||
| `sova-deploy/apps/cabinet/values-stage.yaml` | Overrides для stage-контура |
|
||||
| `sova-deploy/apps/cabinet/values-test.yaml` | Overrides для test-контура |
|
||||
| `sova-deploy/apps/cabinet/values.yaml` | Базовые Helm values |
|
||||
|
||||
|
||||
## `sova-deploy/apps/cabinet/templates/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/apps/cabinet/templates/all.yaml` | Combined Helm template (Deployment/Service/Ingress) |
|
||||
|
||||
|
||||
## `sova-deploy/apps/docs/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/apps/docs/Chart.yaml` | Helm chart metadata |
|
||||
| `sova-deploy/apps/docs/values-stage.yaml` | Overrides для stage-контура |
|
||||
| `sova-deploy/apps/docs/values-test.yaml` | Overrides для test-контура |
|
||||
| `sova-deploy/apps/docs/values.yaml` | Базовые Helm values |
|
||||
|
||||
|
||||
## `sova-deploy/apps/docs/templates/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/apps/docs/templates/all.yaml` | Combined Helm template (Deployment/Service/Ingress) |
|
||||
|
||||
|
||||
## `sova-deploy/apps/redmine/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/apps/redmine/Chart.lock` | Lockfile (Helm/composer/yarn) |
|
||||
| `sova-deploy/apps/redmine/Chart.yaml` | Helm chart metadata |
|
||||
| `sova-deploy/apps/redmine/values-test.yaml` | Overrides для test-контура |
|
||||
| `sova-deploy/apps/redmine/values.yaml` | Базовые Helm values |
|
||||
|
||||
|
||||
## `sova-deploy/apps/redmine/charts/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/apps/redmine/charts/redmine-32.2.2.tgz` | Vendored Helm subchart |
|
||||
|
||||
|
||||
## `sova-deploy/argocd/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/argocd/app-of-apps.yaml` | ArgoCD root Application (sova-root) |
|
||||
|
||||
|
||||
## `sova-deploy/argocd/apps/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/argocd/apps/platform-tools.yaml` | ArgoCD: monitoring, Gitea Actions, Redmine |
|
||||
| `sova-deploy/argocd/apps/sova-projects.yaml` | ArgoCD GitOps: AppProject definitions |
|
||||
| `sova-deploy/argocd/apps/test-contour.yaml` | ArgoCD: приложения test-контура |
|
||||
|
||||
|
||||
## `sova-deploy/argocd/projects/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/argocd/projects/sova-project.yaml` | ArgoCD AppProject RBAC и namespaces |
|
||||
|
||||
|
||||
## `sova-deploy/data/db-init/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/data/db-init/Chart.yaml` | Helm chart metadata |
|
||||
| `sova-deploy/data/db-init/values.yaml` | Базовые Helm values |
|
||||
|
||||
|
||||
## `sova-deploy/data/db-init/templates/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/data/db-init/templates/db-init-jobs.yaml` | K8s Jobs: schema → seed SQL |
|
||||
|
||||
|
||||
## `sova-deploy/data/mysql-bitrix/init/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/data/mysql-bitrix/init/01-bitrix-schema-and-seed.sql` | SQL (schema или seed) |
|
||||
|
||||
|
||||
## `sova-deploy/data/mysql-simple/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/data/mysql-simple/mysql.yaml` | YAML-конфиг / Helm / K8s |
|
||||
|
||||
|
||||
## `sova-deploy/data/postgres/init/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/data/postgres/init/01-create-databases.sql` | SQL (schema или seed) |
|
||||
| `sova-deploy/data/postgres/init/02-backend-schema-and-seed.sql` | SQL (schema или seed) |
|
||||
| `sova-deploy/data/postgres/init/03-cabinet-schema-and-seed.sql` | SQL (schema или seed) |
|
||||
|
||||
|
||||
## `sova-deploy/data/test/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/data/test/Chart.yaml` | Helm chart metadata |
|
||||
| `sova-deploy/data/test/values.yaml` | Базовые Helm values |
|
||||
|
||||
|
||||
## `sova-deploy/data/test/sql/mysql-bitrix/schema/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/data/test/sql/mysql-bitrix/schema/01-bitrix-schema.sql` | SQL (schema или seed) |
|
||||
|
||||
|
||||
## `sova-deploy/data/test/sql/mysql-bitrix/seed/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/data/test/sql/mysql-bitrix/seed/01-bitrix-seed.sql` | SQL (schema или seed) |
|
||||
|
||||
|
||||
## `sova-deploy/data/test/sql/postgres/schema/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/data/test/sql/postgres/schema/01-create-databases.sql` | SQL (schema или seed) |
|
||||
| `sova-deploy/data/test/sql/postgres/schema/02-backend-schema.sql` | SQL (schema или seed) |
|
||||
| `sova-deploy/data/test/sql/postgres/schema/03-cabinet-schema.sql` | SQL (schema или seed) |
|
||||
|
||||
|
||||
## `sova-deploy/data/test/sql/postgres/seed/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/data/test/sql/postgres/seed/01-create-databases.seed.sql` | SQL (schema или seed) |
|
||||
| `sova-deploy/data/test/sql/postgres/seed/02-backend-seed.sql` | SQL (schema или seed) |
|
||||
| `sova-deploy/data/test/sql/postgres/seed/03-cabinet-seed.sql` | SQL (schema или seed) |
|
||||
|
||||
|
||||
## `sova-deploy/data/test/templates/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/data/test/templates/namespace.yaml` | YAML-конфиг / Helm / K8s |
|
||||
|
||||
|
||||
## `sova-deploy/platform/argocd/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/platform/argocd/values-test.yaml` | Overrides для test-контура |
|
||||
|
||||
|
||||
## `sova-deploy/platform/gitea-actions/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/platform/gitea-actions/values-test.yaml` | Overrides для test-контура |
|
||||
|
||||
|
||||
## `sova-deploy/platform/monitoring/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/platform/monitoring/loki-datasource.yaml` | YAML-конфиг / Helm / K8s |
|
||||
|
||||
|
||||
## `sova-deploy/platform/sentry/charts/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-deploy/platform/sentry/charts/sentry-31.7.0.tgz` | Vendored Helm subchart |
|
||||
@@ -0,0 +1,210 @@
|
||||
# sova-docs: сайт документации
|
||||
|
||||
VitePress-сайт (монорепо docs + test-contour). Собирается в Docker и деплоится как docs-test.
|
||||
|
||||
**Файлов:** 114
|
||||
|
||||
|
||||
## `sova-docs/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-docs/.gitignore` | Git ignore rules |
|
||||
| `sova-docs/Dockerfile` | Docker multistage build |
|
||||
| `sova-docs/api-routes.md` | Документация Markdown |
|
||||
| `sova-docs/architecture.md` | Документация Markdown |
|
||||
| `sova-docs/data-model.md` | Документация Markdown |
|
||||
| `sova-docs/docs-site.md` | Документация Markdown |
|
||||
| `sova-docs/environment.md` | Документация Markdown |
|
||||
| `sova-docs/flows.md` | Документация Markdown |
|
||||
| `sova-docs/forms-screenshots.zip` | Архив |
|
||||
| `sova-docs/index.md` | Документация Markdown |
|
||||
| `sova-docs/nginx.conf` | nginx конфиг контейнера |
|
||||
| `sova-docs/package-lock.json` | JSON-данные / конфиг |
|
||||
| `sova-docs/package.json` | NPM/Yarn зависимости и scripts |
|
||||
| `sova-docs/quick-start.md` | Документация Markdown |
|
||||
| `sova-docs/testing.md` | Документация Markdown |
|
||||
|
||||
|
||||
## `sova-docs/.gitea/workflows/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-docs/.gitea/workflows/build.yml` | Gitea Actions CI pipeline |
|
||||
|
||||
|
||||
## `sova-docs/.vitepress/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-docs/.vitepress/config.mts` | VitePress: nav, sidebar, mermaid |
|
||||
|
||||
|
||||
## `sova-docs/.vitepress/theme/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-docs/.vitepress/theme/index.ts` | TypeScript |
|
||||
| `sova-docs/.vitepress/theme/style.css` | CSS-стили |
|
||||
|
||||
|
||||
## `sova-docs/apps/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-docs/apps/admin-panel-content-crud.md` | Документация приложения: admin-panel-content-crud |
|
||||
| `sova-docs/apps/admin-panel.md` | Документация приложения: admin-panel |
|
||||
| `sova-docs/apps/backend-architecture.md` | Документация приложения: backend-architecture |
|
||||
| `sova-docs/apps/backend-content-crud.md` | Документация приложения: backend-content-crud |
|
||||
| `sova-docs/apps/backend-ddd.md` | Документация приложения: backend-ddd |
|
||||
| `sova-docs/apps/backend.md` | Документация приложения: backend |
|
||||
| `sova-docs/apps/cabinet-architecture.md` | Документация приложения: cabinet-architecture |
|
||||
| `sova-docs/apps/cabinet.md` | Документация приложения: cabinet |
|
||||
| `sova-docs/apps/doctor-schedule-sync.md` | Документация приложения: doctor-schedule-sync |
|
||||
| `sova-docs/apps/online-consultation.md` | Документация приложения: online-consultation |
|
||||
|
||||
|
||||
## `sova-docs/apps/backend-scenarios/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-docs/apps/backend-scenarios/anonymous-reserve.md` | Сценарий backend: anonymous-reserve |
|
||||
| `sova-docs/apps/backend-scenarios/auth-uid-pcode.md` | Сценарий backend: auth-uid-pcode |
|
||||
| `sova-docs/apps/backend-scenarios/calltouch-lead.md` | Сценарий backend: calltouch-lead |
|
||||
| `sova-docs/apps/backend-scenarios/change-region.md` | Сценарий backend: change-region |
|
||||
| `sova-docs/apps/backend-scenarios/index.md` | Сценарий backend: index |
|
||||
| `sova-docs/apps/backend-scenarios/kiosk-checkpass.md` | Сценарий backend: kiosk-checkpass |
|
||||
| `sova-docs/apps/backend-scenarios/login-jwt.md` | Сценарий backend: login-jwt |
|
||||
| `sova-docs/apps/backend-scenarios/schedule-cache.md` | Сценарий backend: schedule-cache |
|
||||
| `sova-docs/apps/backend-scenarios/schedule-messenger.md` | Сценарий backend: schedule-messenger |
|
||||
| `sova-docs/apps/backend-scenarios/sms-record.md` | Сценарий backend: sms-record |
|
||||
| `sova-docs/apps/backend-scenarios/specialist-card-locations.md` | Сценарий backend: specialist-card-locations |
|
||||
| `sova-docs/apps/backend-scenarios/sync-doctors-reviews.md` | Сценарий backend: sync-doctors-reviews |
|
||||
| `sova-docs/apps/backend-scenarios/xml-yandex-feed.md` | Сценарий backend: xml-yandex-feed |
|
||||
|
||||
|
||||
## `sova-docs/forms-screenshots/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-docs/forms-screenshots/01-login-landing.png` | Скриншот формы cabinet: 01-login-landing.png |
|
||||
| `sova-docs/forms-screenshots/02-login-modal.png` | Скриншот формы cabinet: 02-login-modal.png |
|
||||
| `sova-docs/forms-screenshots/03-password-recovery.png` | Скриншот формы cabinet: 03-password-recovery.png |
|
||||
| `sova-docs/forms-screenshots/04-registration.png` | Скриншот формы cabinet: 04-registration.png |
|
||||
| `sova-docs/forms-screenshots/05-specialists-search.png` | Скриншот формы cabinet: 05-specialists-search.png |
|
||||
| `sova-docs/forms-screenshots/06-price-search.png` | Скриншот формы cabinet: 06-price-search.png |
|
||||
| `sova-docs/forms-screenshots/07-help-callback.png` | Скриншот формы cabinet: 07-help-callback.png |
|
||||
| `sova-docs/forms-screenshots/08-info-reference-entry.png` | Скриншот формы cabinet: 08-info-reference-entry.png |
|
||||
| `sova-docs/forms-screenshots/09-widget-form-2.png` | Скриншот формы cabinet: 09-widget-form-2.png |
|
||||
| `sova-docs/forms-screenshots/10-widget-reference.png` | Скриншот формы cabinet: 10-widget-reference.png |
|
||||
| `sova-docs/forms-screenshots/11-doctor-your-home-modal.png` | Скриншот формы cabinet: 11-doctor-your-home-modal.png |
|
||||
| `sova-docs/forms-screenshots/12-booking-modal-offline.png` | Скриншот формы cabinet: 12-booking-modal-offline.png |
|
||||
| `sova-docs/forms-screenshots/13-online-specialists.png` | Скриншот формы cabinet: 13-online-specialists.png |
|
||||
| `sova-docs/forms-screenshots/14-case-history.png` | Скриншот формы cabinet: 14-case-history.png |
|
||||
| `sova-docs/forms-screenshots/15-payment.png` | Скриншот формы cabinet: 15-payment.png |
|
||||
| `sova-docs/forms-screenshots/16-settings.png` | Скриншот формы cabinet: 16-settings.png |
|
||||
| `sova-docs/forms-screenshots/17-security-card.png` | Скриншот формы cabinet: 17-security-card.png |
|
||||
| `sova-docs/forms-screenshots/18-refund-form.png` | Скриншот формы cabinet: 18-refund-form.png |
|
||||
| `sova-docs/forms-screenshots/19-booking-modal-online.png` | Скриншот формы cabinet: 19-booking-modal-online.png |
|
||||
| `sova-docs/forms-screenshots/README.md` | Главный README k3s-test |
|
||||
| `sova-docs/forms-screenshots/manifest.json` | Метаданные скриншотов |
|
||||
|
||||
|
||||
## `sova-docs/infrastructure/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-docs/infrastructure/backend-external-services.md` | Инфра-документация: backend-external-services |
|
||||
| `sova-docs/infrastructure/docker.md` | Инфра-документация: docker |
|
||||
| `sova-docs/infrastructure/k8s-cicd-platform-plan.md` | Инфра-документация: k8s-cicd-platform-plan |
|
||||
|
||||
|
||||
## `sova-docs/infrastructure/test-contour/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-docs/infrastructure/test-contour/argocd-apps.md` | Инфра-документация: argocd-apps |
|
||||
| `sova-docs/infrastructure/test-contour/git-flow.md` | Инфра-документация: git-flow |
|
||||
| `sova-docs/infrastructure/test-contour/index.md` | Инфра-документация: index |
|
||||
| `sova-docs/infrastructure/test-contour/tags.md` | Инфра-документация: tags |
|
||||
| `sova-docs/infrastructure/test-contour/test-contour-article.md` | Инфра-документация: test-contour-article |
|
||||
|
||||
|
||||
## `sova-docs/infrastructure/test-contour/guides/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-docs/infrastructure/test-contour/guides/argocd.md` | Инфра-документация: argocd |
|
||||
| `sova-docs/infrastructure/test-contour/guides/gitea-ci.md` | Инфра-документация: gitea-ci |
|
||||
| `sova-docs/infrastructure/test-contour/guides/monitoring.md` | Инфра-документация: monitoring |
|
||||
| `sova-docs/infrastructure/test-contour/guides/overview.md` | Инфра-документация: overview |
|
||||
| `sova-docs/infrastructure/test-contour/guides/redmine.md` | Инфра-документация: redmine |
|
||||
|
||||
|
||||
## `sova-docs/infrastructure/test-contour/k3s-test-reference/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-docs/infrastructure/test-contour/k3s-test-reference/_generate.py` | Python-скрипт |
|
||||
| `sova-docs/infrastructure/test-contour/k3s-test-reference/docs-pointers.md` | Инфра-документация: docs-pointers |
|
||||
| `sova-docs/infrastructure/test-contour/k3s-test-reference/index.md` | Инфра-документация: index |
|
||||
| `sova-docs/infrastructure/test-contour/k3s-test-reference/root-and-artifacts.md` | Инфра-документация: root-and-artifacts |
|
||||
| `sova-docs/infrastructure/test-contour/k3s-test-reference/scripts.md` | Инфра-документация: scripts |
|
||||
| `sova-docs/infrastructure/test-contour/k3s-test-reference/sova-adminpanel.md` | Инфра-документация: sova-adminpanel |
|
||||
| `sova-docs/infrastructure/test-contour/k3s-test-reference/sova-backend.md` | Инфра-документация: sova-backend |
|
||||
| `sova-docs/infrastructure/test-contour/k3s-test-reference/sova-cabinet.md` | Инфра-документация: sova-cabinet |
|
||||
| `sova-docs/infrastructure/test-contour/k3s-test-reference/sova-deploy.md` | Инфра-документация: sova-deploy |
|
||||
| `sova-docs/infrastructure/test-contour/k3s-test-reference/sova-docs-repo.md` | Инфра-документация: sova-docs-repo |
|
||||
| `sova-docs/infrastructure/test-contour/k3s-test-reference/sova-mocks.md` | Инфра-документация: sova-mocks |
|
||||
| `sova-docs/infrastructure/test-contour/k3s-test-reference/sova-platform.md` | Инфра-документация: sova-platform |
|
||||
| `sova-docs/infrastructure/test-contour/k3s-test-reference/sova-redmine.md` | Инфра-документация: sova-redmine |
|
||||
|
||||
|
||||
## `sova-docs/infrastructure/test-contour/screenshots/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/01-gitea-login.png` | Скриншот UI: 01-gitea-login.png |
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/02-gitea-org-sova.png` | Скриншот UI: 02-gitea-org-sova.png |
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/03-gitea-backend-actions.png` | Скриншот UI: 03-gitea-backend-actions.png |
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/04-gitea-action-run.png` | Скриншот UI: 04-gitea-action-run.png |
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/05-gitea-backend-tags.png` | Скриншот UI: 05-gitea-backend-tags.png |
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/06-gitea-backend-packages.png` | Скриншот UI: 06-gitea-backend-packages.png |
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/07-argocd-login.png` | Скриншот UI: 07-argocd-login.png |
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/08-argocd-applications.png` | Скриншот UI: 08-argocd-applications.png |
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/09-argocd-backend-test.png` | Скриншот UI: 09-argocd-backend-test.png |
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/10-argocd-sova-root.png` | Скриншот UI: 10-argocd-sova-root.png |
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/11-argocd-data-test.png` | Скриншот UI: 11-argocd-data-test.png |
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/12-grafana-login.png` | Скриншот UI: 12-grafana-login.png |
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/13-grafana-home.png` | Скриншот UI: 13-grafana-home.png |
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/14-grafana-loki-explore.png` | Скриншот UI: 14-grafana-loki-explore.png |
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/15-prometheus-graph.png` | Скриншот UI: 15-prometheus-graph.png |
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/16-prometheus-targets.png` | Скриншот UI: 16-prometheus-targets.png |
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/17-prometheus-up-query.png` | Скриншот UI: 17-prometheus-up-query.png |
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/18-sentry-login.png` | Скриншот UI: 18-sentry-login.png |
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/19-sentry-home.png` | Скриншот UI: 19-sentry-home.png |
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/20-sentry-issues.png` | Скриншот UI: 20-sentry-issues.png |
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/21-redmine-login.png` | Скриншот UI: 21-redmine-login.png |
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/22-redmine-home.png` | Скриншот UI: 22-redmine-home.png |
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/README.md` | Главный README k3s-test |
|
||||
| `sova-docs/infrastructure/test-contour/screenshots/manifest.json` | Метаданные скриншотов |
|
||||
|
||||
|
||||
## `sova-docs/operations/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-docs/operations/maintenance.md` | Документация Markdown |
|
||||
@@ -0,0 +1,66 @@
|
||||
# sova-mocks: WireMock и Mailpit
|
||||
|
||||
Моки внешних API (MIS, Calltouch, Captcha) и SMTP для test-контура.
|
||||
|
||||
**Файлов:** 19
|
||||
|
||||
|
||||
## `sova-mocks/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-mocks/docker-compose.yml` | Docker Compose (моки / cabinet dev) |
|
||||
|
||||
|
||||
## `sova-mocks/charts/mocks/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-mocks/charts/mocks/Chart.yaml` | Helm chart metadata |
|
||||
| `sova-mocks/charts/mocks/values.yaml` | Базовые Helm values |
|
||||
|
||||
|
||||
## `sova-mocks/charts/mocks/mappings/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-mocks/charts/mocks/mappings/calltouch-lead-create.json` | WireMock stub: calltouch lead create |
|
||||
| `sova-mocks/charts/mocks/mappings/captcha-validate.json` | WireMock stub: captcha validate |
|
||||
| `sova-mocks/charts/mocks/mappings/mis-anonymous-reserve.json` | WireMock stub: mis anonymous reserve |
|
||||
| `sova-mocks/charts/mocks/mappings/mis-filials-list.json` | WireMock stub: mis filials list |
|
||||
| `sova-mocks/charts/mocks/mappings/mis-intervals.json` | WireMock stub: mis intervals |
|
||||
| `sova-mocks/charts/mocks/mappings/mis-pricelist-departments.json` | WireMock stub: mis pricelist departments |
|
||||
| `sova-mocks/charts/mocks/mappings/mis-pricelist-list.json` | WireMock stub: mis pricelist list |
|
||||
|
||||
|
||||
## `sova-mocks/charts/mocks/templates/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-mocks/charts/mocks/templates/all.yaml` | Combined Helm template (Deployment/Service/Ingress) |
|
||||
|
||||
|
||||
## `sova-mocks/scripts/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-mocks/scripts/smoke-local.sh` | Shell-скрипт |
|
||||
|
||||
|
||||
## `sova-mocks/wiremock/mappings/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-mocks/wiremock/mappings/calltouch-lead-create.json` | WireMock stub: calltouch lead create |
|
||||
| `sova-mocks/wiremock/mappings/captcha-validate.json` | WireMock stub: captcha validate |
|
||||
| `sova-mocks/wiremock/mappings/mis-anonymous-reserve.json` | WireMock stub: mis anonymous reserve |
|
||||
| `sova-mocks/wiremock/mappings/mis-filials-list.json` | WireMock stub: mis filials list |
|
||||
| `sova-mocks/wiremock/mappings/mis-intervals.json` | WireMock stub: mis intervals |
|
||||
| `sova-mocks/wiremock/mappings/mis-pricelist-departments.json` | WireMock stub: mis pricelist departments |
|
||||
| `sova-mocks/wiremock/mappings/mis-pricelist-list.json` | WireMock stub: mis pricelist list |
|
||||
@@ -0,0 +1,36 @@
|
||||
# sova-platform: Terraform
|
||||
|
||||
Terraform для Multipass VM и установки k3s на single-node.
|
||||
|
||||
**Файлов:** 10
|
||||
|
||||
|
||||
## `sova-platform/terraform/envs/local-test/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-platform/terraform/envs/local-test/.terraform.lock.hcl` | Terraform lock |
|
||||
| `sova-platform/terraform/envs/local-test/main.tf` | Terraform |
|
||||
| `sova-platform/terraform/envs/local-test/terraform.tfvars` | Terraform переменные |
|
||||
| `sova-platform/terraform/envs/local-test/terraform.tfvars.bak` | Файл проекта |
|
||||
| `sova-platform/terraform/envs/local-test/terraform.tfvars.example` | Файл проекта |
|
||||
| `sova-platform/terraform/envs/local-test/variables.tf` | Terraform |
|
||||
| `sova-platform/terraform/envs/local-test/versions.tf` | Terraform |
|
||||
|
||||
|
||||
## `sova-platform/terraform/modules/k3s-single-node/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-platform/terraform/modules/k3s-single-node/main.tf` | Terraform |
|
||||
| `sova-platform/terraform/modules/k3s-single-node/versions.tf` | Terraform |
|
||||
|
||||
|
||||
## `sova-platform/terraform/modules/k3s-single-node/scripts/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-platform/terraform/modules/k3s-single-node/scripts/install-k3s.sh` | Shell-скрипт |
|
||||
@@ -0,0 +1,21 @@
|
||||
# sova-redmine: custom image
|
||||
|
||||
Опциональный custom Docker-образ Redmine с plugin github_hook.
|
||||
|
||||
**Файлов:** 2
|
||||
|
||||
|
||||
## `sova-redmine/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-redmine/Dockerfile` | Docker multistage build |
|
||||
|
||||
|
||||
## `sova-redmine/.gitea/workflows/`
|
||||
|
||||
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `sova-redmine/.gitea/workflows/build.yml` | Gitea Actions CI pipeline |
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 27 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 38 KiB |
@@ -21,5 +21,9 @@
|
||||
| 15-prometheus-graph.png | Prometheus Graph |
|
||||
| 16-prometheus-targets.png | Prometheus Targets |
|
||||
| 17-prometheus-up-query.png | PromQL up |
|
||||
| 21-redmine-login.png | Redmine: вход |
|
||||
| 22-redmine-home.png | Redmine: проекты |
|
||||
|
||||
> Скриншоты 18–20 (Sentry) устарели — Sentry удалён из test-контура.
|
||||
|
||||
Полный manifest: `manifest.json`
|
||||
|
||||
@@ -598,6 +598,45 @@ imagePullSecrets:
|
||||
|
||||
---
|
||||
|
||||
## Redmine *(30.05.2026)*
|
||||
|
||||
В test-контуре развёрнут **Redmine** — issue tracker для задач разработки и связи с Git-flow (`Refs #N` / `Fixes #N` в коммитах).
|
||||
|
||||
| URL | Namespace | Назначение |
|
||||
|-----|-----------|------------|
|
||||
| http://redmine.sova.local | `redmine` | Задачи, проект `sova-platform`, пример [#27](http://redmine.sova.local/issues/27) |
|
||||
|
||||
> **Sentry** был удалён из test-контура (≈10 GiB RAM). Ошибки приложений смотрите в [Grafana → Loki](./guides/monitoring.md).
|
||||
|
||||
### Что сделано
|
||||
|
||||
- **Redmine** — Bitnami chart, образ `bitnamilegacy/redmine:6.0.5-debian-12-r0`, БД `redmine_test` в `sova-data-test`.
|
||||
- ArgoCD app `redmine-test` в `platform-tools.yaml`; namespace `redmine` в GitOps `sova-projects` / `sova-project.yaml`.
|
||||
- Ingress `redmine.sova.local` в `deploy-platform-ingress.sh`.
|
||||
- SMTP через Mailpit (письма в UI мока, не реальная почта).
|
||||
- Скрипты: `deploy-redmine.sh`, `bootstrap-redmine.sh`, `setup-gitea-redmine-integration.sh`.
|
||||
- Bootstrap: проект **Sova Platform**, задача **#27** (CRUD сущностей в API).
|
||||
- Custom image `sova-redmine/` с plugin `redmine_github_hook` — опционально, для webhook из Gitea.
|
||||
|
||||
### Деплой
|
||||
|
||||
```bash
|
||||
./scripts/deploy-redmine.sh
|
||||
./scripts/deploy-redmine.sh --bootstrap # проект + задача #27
|
||||
./scripts/deploy-platform-ingress.sh
|
||||
kubectl get application redmine-test -n argocd
|
||||
kubectl get pods -n redmine
|
||||
```
|
||||
|
||||
Подробный гайд со скриншотами: [Redmine](./guides/redmine.md).
|
||||
|
||||
### Следующие шаги
|
||||
|
||||
- [ ] Gitea external tracker + webhooks в Redmine (инструкции: `setup-gitea-redmine-integration.sh`)
|
||||
- [ ] При необходимости — custom image `sova-redmine` с `redmine_github_hook`
|
||||
|
||||
---
|
||||
|
||||
## Полезные команды
|
||||
|
||||
```bash
|
||||
@@ -621,7 +660,7 @@ helm template backend-test ./sova-deploy/apps/backend \
|
||||
|
||||
## Итог
|
||||
|
||||
В `k3s-test/` собран **полноценный test-контур**: приложения, изолированные БД (schema → seed), моки внешних сервисов, GitOps и заготовка CI. Локально он крутится на Multipass + k3s и имитирует production-подобный стек без изменений монорепо.
|
||||
В `k3s-test/` собран **полноценный test-контур**: приложения, изолированные БД (schema → seed), моки внешних сервисов, GitOps, **Redmine** и заготовка CI. Локально он крутится на Multipass + k3s и имитирует production-подобный стек без изменений монорепо.
|
||||
|
||||
Перенос на удалённый сервер — это в основном замена **домена**, **TLS**, **registry образов** и **управления секретами**; скрипты и Helm charts из `k3s-test/` переиспользуются с минимальными правками `values-test.yaml`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user