RodTree — интерактивный конструктор семейного древа

О проекте

  • Клиент Собственный SaaS
  • Год 2026 → настоящее время
  • Категория SaaS / Генеалогия
  • Стек Next.js 16 (App Router), React 19, TypeScript, Tailwind v4, Prisma 7 + Postgres (@prisma/adapter-pg), NextAuth v5 (JWT, Google + Credentials), React Flow, next-intl, WayForPay, npm workspaces monorepo

Описание проекта

RodTree — собственный SaaS для построения, сохранения и шаринга интерактивных семейных деревьев, который я спроектировал и реализовал от и до. Пользователи добавляют предков, потомков и события жизни; дерево рендерится плавным, масштабируемым canvas-ом на React Flow с кастомными нодами для людей, браков и поколенческих линий. Интерфейс локализован на английский и русский, бесплатный аккаунт позволяет построить дерево на несколько поколений до перехода на платный тариф.

Архитектура: монорепо на npm-workspaces с Next.js 16 App Router приложением в apps/web и общими packages/* с графовой логикой и i18n-строками. Хранилище — Prisma 7 поверх Postgres через @prisma/adapter-pg; авторизация — NextAuth v5, стратегия JWT, провайдеры Google и Credentials. Мутации идут через типизированные server actions в src/lib/actions/, которые аутентифицируются через auth() и возвращают стандартный для проекта конверт {data} / {error} / {success} — клиент никогда не общается с Prisma напрямую.

Интересные места: кастомные типы нод React Flow, складывающие связи parent/child/spouse в читаемый поколенческий layout; автосохраняющийся редактор, который батчит граф-дельты перед сбросом; и роутинг под /[locale]/, где next-intl обрабатывает префиксные локали без дублирования всего дерева под двумя корнями. Платежи — WayForPay с HMAC-MD5 подписями коллбэков, тот же паттерн что и в других проектах портфолио.

RodTree — interactive family tree builder