Easy-to-manage touch screens
Free, open-source touch screens. Guided USB setup, a drag-and-drop editor and local control. Made for Home Assistant.
Treename interviews your parents and grandparents in their own language and turns their answers into a family story, a living tree and a book your children will keep.
LifestyleTypeScript · JavaScriptGitHub @wrcmbb5t28-coderOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
TREE
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Family history, told by your family. Treename берёт голосовые интервью у родителей, бабушек и дедушек на их родном языке и превращает ответы в историю семьи, живое дерево, путь семьи на карте и семейную книгу. Этот репозиторий — MVP по плану «первые 90 дней» из документа Treename 2.0 — Blueprint.Read the full README ↗
Family history, told by your family. Treename берёт голосовые интервью у родителей, бабушек и дедушек на их родном языке и превращает ответы в историю семьи, живое дерево, путь семьи на карте и семейную книгу.
Этот репозиторий — MVP по плану «первые 90 дней» из документа Treename 2.0 — Blueprint.
| Часть | Где в коде | Статус |
|---|---|---|
| Сайт на 6 языках (EN, DE, FR, IT, ES, RU), SEO, hreflang, sitemap, OG-картинки | src/app/[lang], src/i18n | готово |
| Страница «Вопросы бабушке и дедушке» (SEO + отправка в WhatsApp) | src/app/[lang]/questions | готово |
| Онбординг из 8 шагов, регистрация только в конце | src/components/Onboarding.tsx, src/app/api/onboarding | готово |
| Вход без пароля (ссылка на e-mail) | src/lib/login.ts, src/app/api/auth | готово |
| Ask Grandma: страница ответа без аккаунта, запись голоса или текст | src/app/a/[token], src/components/Recorder.tsx | готово |
| Расшифровка голоса (любой OpenAI-совместимый endpoint) | src/lib/transcribe.ts | нужен ключ |
| AI-история и факты с уровнем уверенности, без выдумок | src/lib/ai.ts, src/lib/stories.ts | нужен ключ Anthropic |
| Подтверждение фактов → дерево и таймлайн | src/app/app/actions.ts (confirmFact) | готово |
| Дерево семьи, карточки людей, скрытые ветки | src/app/app/family, src/lib/tree.ts | готово |
| Journey: таймлайн и путь семьи | src/app/app/journey | готово |
| Истории, фото, редактирование, приватность историй | src/app/app/stories | готово |
| Приглашения родных (ссылка, WhatsApp, роли) | src/app/app/invite, src/app/join | готово |
| Семейная книга (печать / PDF, QR-код к голосу) | src/app/app/book | готово (печатная книга — через партнёра, позже) |
| Семейная страница по закрытой ссылке (вирусная петля) | src/app/f/[slug] | готово |
| Эмблема (простая, из данных семьи) | src/components/Emblem.tsx | базовая; AI-версия — фаза 2 |
| Оплата: Family $59/год, Legacy Gift $99, Founding Family $249, подарочные коды | src/app/api/stripe, src/app/app/billing | нужен Stripe |
| Экспорт всего (JSON) и дерева (GEDCOM), удаление семьи | src/app/api/export, Settings | готово |
| Аналитика событий и North Star (Contributing Families, 28 дней) | src/lib/analytics.ts, /app/admin | готово |
Не входит в MVP (по стратегии — позже): чат «Ask Your Family» (фаза 3), AI-эмблема, заказ печатной книги, нативные приложения, перевод интерфейса приложения (сейчас приложение на английском; сайт, онбординг и страница ответа для рассказчика — на 6 языках).
Сайт рассчитан на Vercel: база Neon Postgres и закрытое хранилище файлов Vercel Blob, всё во Франкфурте (vercel.json → регион fra1).
TREE → Deploy. Первый деплой пройдёт без базы — это нормально.DATABASE_URL и DATABASE_URL_UNPOOLED.BLOB_STORE_ID (новый способ, через OIDC) или BLOB_READ_WRITE_TOKEN (старый) — код понимает оба.ADMIN_EMAILS (ваш e-mail). APP_URL нужен только когда подключите свой домен (https://treename.ai). Для закрытого теста без почты — SHOW_LOGIN_LINKS=1 (убрать перед открытым запуском!).prisma db push).ANTHROPIC_API_KEY, TRANSCRIBE_API_KEY, RESEND_API_KEY + EMAIL_FROM, ключи Stripe. После добавления переменных — Redeploy.Строка «Data hosted in…» на сайте берётся из DATA_REGION: по умолчанию «Europe». «Switzerland» включайте (DATA_REGION=ch) только когда база, файлы и AI действительно будут в Швейцарии.
Ограничение Vercel: одна загрузка — до 4,5 МБ. Поэтому запись ответа ограничена 15 минутами (голос пишется с низким битрейтом), фото — до 4 МБ.
Нужны Node.js 20+ и Postgres (например, docker run -e POSTGRES_PASSWORD=postgres -p 5432:5432 postgres:16).
npm install
cp .env.example .env # адрес базы уже указан для docker-варианта
npm run setup # создаёт таблицы и демо-семью Rossi
npm run dev
Откройте http://localhost:3000.
/login → [email protected]. Без настроенной почты ссылка для входа показывается прямо на экране (только в режиме разработки)./a/... печатается в консоли после npm run setup..env)| Переменная | Зачем |
|---|---|
DATABASE_URL, DATABASE_URL_UNPOOLED | Postgres (на Vercel создаются Neon автоматически) |
BLOB_STORE_ID или BLOB_READ_WRITE_TOKEN | закрытое хранилище записей и фото (Vercel Blob) |
ANTHROPIC_API_KEY, ANTHROPIC_MODEL | истории и факты (по умолчанию claude-sonnet-5-5) |
TRANSCRIBE_API_KEY, TRANSCRIBE_URL, TRANSCRIBE_MODEL | расшифровка голоса |
RESEND_API_KEY, EMAIL_FROM | письма со ссылкой для входа и подарками |
STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET, STRIPE_PRICE_* | оплата; webhook: https://<домен>/api/stripe/webhook, события checkout.session.completed, invoice.paid, customer.subscription.deleted |
ADMIN_EMAILS | доступ к странице метрик /app/admin |
DATA_REGION | eu или ch — что написано на сайте о месте хранения данных |
SHOW_LOGIN_LINKS.src/app/[lang]/privacy) должен проверить юрист (nDSG + GDPR)./api/onboarding, /api/auth/request, /api/answers (Vercel Firewall).tsc без ошибок, next build проходит. Сквозной тест в браузере (на локальной базе): главная на DE, онбординг → вход по ссылке → вопрос → ответ рассказчика с телефона → история → подтверждение факта → дерево → Journey → приглашение → семейная страница → книга → экспорт GEDCOM/JSON → оплата (страница) → метрики. Голос, AI, почта и Stripe проверены только в режиме «без ключей»: с реальными ключами их нужно прогнать один раз на стейджинге.
prisma/ схема базы и демо-данные
src/app/[lang]/ сайт: главная, вопросы, приватность, онбординг
src/app/a/ страница ответа для рассказчика
src/app/app/ приложение семьи (истории, дерево, journey, книга, настройки, оплата, метрики)
src/app/api/ API: онбординг, вход, ответы, файлы, экспорт, Stripe, аналитика
src/components/ UI-компоненты
src/i18n/ тексты на 6 языках
src/lib/ AI, расшифровка, почта, хранилище, аналитика, дерево