Этап 1a: фундамент

- Next 16.4 и Payload 3.91 в одном приложении, PostgreSQL с UUID,
  TypeScript 6, ESLint 9, Prettier, Vitest
- Payload: администраторы с ролями, multi-tenant по сайтам, локализация
  en/ru/de/fr/es, интерфейс админки ru/en, языки сайта (sites.locales)
- Коллекции sites, domains, currencies, countries, locations, tags,
  tariffs, payment-systems (manual), media и начальные данные (pnpm seed)
- Proxy: хост → домен, язык и валюта, внутренние маршруты по хосту;
  /admin и /api закрыты на доменах брендов
- Токены и темы брендов, оболочки сайта и кабинета, переключатели языка,
  валюты и темы, заглушки страниц
- /svc/health, юнит systemd veilix-dev.service
- Документация: решения D-022…D-024, команды в CLAUDE.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
andreypr207andClaude Opus 5.5 committed 2026-10-21 05:08:05 +02:00
1 parent 3400f58a5a
commit 7e331c2c9d
140 files changed
+15885 -43

No files matched your search

+63
View File
@@ -0,0 +1,63 @@
{
"brand": {
"dedicated": {
"name": "Veilix",
"tagline": "Personal VPN servers with a dedicated IP. Running since 2022."
},
"mass": {
"name": "VeilixVPN",
"tagline": "A VPN you never have to switch off. Running since 2022."
}
},
"nav": {
"main": "Main navigation",
"home": "Home",
"pricing": "Pricing",
"locations": "Locations",
"support": "Support",
"logIn": "Log in",
"getVpn": "Get a VPN",
"menu": "Menu"
},
"footer": {
"service": "Service",
"legal": "Legal",
"terms": "Terms of use",
"privacy": "Privacy policy",
"refund": "Refunds",
"cookies": "Cookie policy",
"copyright": "© {year} {brand}"
},
"switch": {
"language": "Language",
"currency": "Currency",
"theme": "Theme",
"light": "Light theme",
"dark": "Dark theme",
"system": "Match the system"
},
"cabinet": {
"home": "Overview",
"keys": "All keys",
"keysShort": "Keys",
"key": "Key",
"buy": "Buy a key",
"buyShort": "Buy",
"billing": "Billing",
"referral": "Referral program",
"more": "More",
"support": "Support",
"login": "Sign in",
"order": "Checkout",
"terms": "Terms",
"privacy": "Privacy"
},
"stub": {
"text": "This section is coming in the next stages."
},
"notFound": {
"title": "Page not found",
"text": "The page may have moved or never existed.",
"home": "Go to the home page"
}
}