README.md

Нормисы

Некоммерческая платформа «для своих» — закрытое сообщество по приглашениям, псевдонимная идентификация, приватность по умолчанию. Без рекламы, слежки и пустых обещаний. Ради развития людей и кода, а не прибыли.

Открытый код · лицензия Apache-2.0 · self-host · построено в паре человек + ИИ (Claude Code). Прозрачность и философия — на странице «О проекте» (/about) запущенного приложения.

Код живёт на пяти площадках — в разных руках и юрисдикциях, чтобы проект не зависел от доступности одного сервиса: GitHub · Codeberg · SourceHut · GitFlic · GitVerse.

Все пять обновляются на каждый коммит, ветка везде main — клонировать и форкать можно с любой. Если какое-то зеркало временно отстало, значит хостинг был недоступен в момент пуша и догоняется позже. Разработка идёт на GitHub — правки и вопросы удобнее туда.

Что это простыми словами

Платформа, куда попадают по приглашению от уже существующего участника. Каждый — под псевдонимом (никаких настоящих имён, телефонов, паспортов). Готов личный кабинет: регистрация по коду, вход, профиль с аватаром, приглашения и дерево поддерева, баны (модерация своего поддерева), сессии/устройства, восстановление доступа по секретным вопросам, настройки, главный экран со статистикой. Дальше — разделы (трекер целей/привычек, протокол навыков, мессенджеры) и нативные приложения.

Принципы

  • 🔒 Без персональных данных — логин + псевдоним + пароль (хеш). ПДн не собираем (152-ФЗ).
  • 🚫 Без рекламы и трекинга — только технические cookie.
  • 🌳 Сообщество-дерево — пригласивший отвечает за своё поддерево (может банить в нём).
  • 🧩 Слоистая архитектура — бизнес-логику можно сохранить при смене БД/ORM.
  • 🛠 Self-hosted — разворачивается у себя одной командой, без облачных зависимостей.
  • 🤝 Честно, без гарантий — некоммерческий проект; данные не гарантируем, можем выключиться.

🧱 Стек

Слой Технологии
Frontend Angular (standalone, Signals, чистый SCSS — без Tailwind), SPA
Backend NestJS (5-слойная архитектура: controllers → use-cases → domain → adapters → repositories)
БД / ORM PostgreSQL + Drizzle (явные миграции, без auto-push в проде)
Инфра Docker (dev=prod), Traefik + Let’s Encrypt (авто-TLS)

Почему именно так — с обоснованием по каждой технологии — на странице /about.

🚀 Быстрый старт (локально)

Нужен Docker. Из корня репозитория:

make dev-rebuild     # postgres + pgadmin + nest + angular (watch-режим)
make db-migrate      # накатить миграции Drizzle

Фронт — http://localhost:4200, API — http://localhost:3000/api/v1, pgAdmin — :8081. Подробнее: docs/getting-started.md. Прод-деплой (Traefik + Let’s Encrypt): docs/deployment.md.

📚 Где что лежит

Путь Что это
nest/ · angular/ Бэкенд и фронтенд
docs/ Техническая документация (архитектура, домен, БД, API-контракты)
docs/decisions/ Журнал архитектурных решений (ADR)
docs/api-contracts.md REST-контракты
docs/impl-phase1-plan.md План фазы 1 по подэтапам (что сделано / дальше)
CLAUDE.md Правила и конвенции проекта (для людей и ИИ)
CONTRIBUTING.md Как развернуть и контрибьютить

🤖 Прозрачность об ИИ

Код пишется человеком вместе с Claude Code (модели Claude Opus 4.x): ИИ кладёт реализацию по слоям и гоняет живые проверки, человек принимает решения, ловит баги и держит направление. Каждое значимое решение фиксируется отдельной записью ADR.

📄 Лицензия

Apache-2.0 с указанием первичных авторов (NOTICE). Вы вправе развернуть «Нормисы» у себя, форкнуть и контрибьютить — см. CONTRIBUTING.md.

Дорожная карта

Платформа развивается по фазам: ЛК → Акцент → НоваСкил → … → мессенджеры → нативные приложения. Порядок и состав фаз — Technical-assignment.md; прогресс по факту — в трекере фазы (docs/impl-phaseN-plan.md).

Описание
нормисы.рф
Конвейеры
0 успешных
0 с ошибкой
Разработчики