Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
Treename은 부모·조부모에게 인터뷰해 답변을 가족 이야기·가계도·책으로 만든다
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.
라이프스타일TypeScript · JavaScriptGitHub @wrcmbb5t28-coder온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기TREE
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Family history, told by your family. Treename берёт голосовые интервью у родителей, бабушек и дедушек на их родном языке и превращает ответы в историю семьи, живое дерево, путь семьи на карте и семейную книгу. Этот репозиторий — MVP по плану «первые 90 дней» из документа Treename 2.0 — Blueprint.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, расшифровка, почта, хранилище, аналитика, дерево