Repolode
MGeurts

MGeurts/genealogy

Самостоятельно размещаемое веб-приложение для семейного древа на Laravel с учетом родственников и их связей, а также импортом и экспортом GEDCOM.

Open source альтернатива:AncestryMyHeritage

Звёзды
371
Форки
116
Открытые issues
0
Последний коммит
позавчера

Что это?

Genealogy — PHP-веб-приложение для учета членов семьи и связей между ними. Для каждого человека можно указать биологических отца и мать, родителей, партнера и детей, а пары можно отметить как состоящие в браке или разошедшиеся. Древа предков и потомков строятся с помощью рекурсивных обобщенных табличных выражений в MySQL или MariaDB, что позволяет избежать N+1-запросов при построении больших деревьев.

Приложение организовано вокруг команд на базе Laravel Jetstream. Роли владельца, менеджера, редактора и участника определяют, кто может создавать и редактировать записи о людях и парах, а кто — только просматривать их. В приложении есть загрузка изображений и документов с возможностью добавлять водяные знаки, лента событий, менеджер резервных копий с ежедневным планированием и просмотрщик логов медленных запросов и ошибок. Можно включить двухфакторную аутентификацию и API.

Импорт и экспорт GEDCOM доступны, но все еще находятся в разработке; в проекте отмечено, что полная поддержка GEDCOM 7 пока не реализована. Интерфейс доступен на одиннадцати языках, включая упрощенный китайский. В стеке используются Livewire, Alpine.js, Tailwind CSS и построитель таблиц Filament.

Ключевые возможности

  • 01Учет людей и связей с родителями, партнерами и детьми
  • 02Построение деревьев предков и потомков с помощью рекурсивных SQL-запросов
  • 03Мультитенантность на основе команд с ролями владельца, менеджера, редактора и участника
  • 04Загрузка изображений и документов с возможностью добавлять водяные знаки
  • 05Плановое и ручное резервное копирование базы данных с уведомлениями по электронной почте
  • 06Начальная реализация импорта и экспорта GEDCOM, все еще находящаяся в разработке

Сценарии использования

  • Ведение истории семьи с общим доступом для родственников
  • Изучение генеалогии королевских или известных семей
  • Самостоятельное размещение приватного семейного древа на собственном сервере
  • Изучение структуры приложения на Laravel с командами Jetstream и Livewire

Быстрый старт

  1. 1

    Загрузите production-образ Docker из GitHub Container Registry

    docker pull ghcr.io/mgeurts/genealogy:latest
  2. 2

    Следуйте руководству по настройке Docker в README-DOCKER.md, чтобы настроить и запустить приложение

Что важно знать

  • Импорт и экспорт GEDCOM пока реализованы не полностью и активно разрабатываются.
  • Требуется MySQL 8.0.1+ или MariaDB 10.2.2+ с поддержкой рекурсивных CTE.
  • В production требуется HTTPS.

В подборках

Темы

#family-tree#genealogy#laravel#php#self-hosted#gedcom#recursive-cte#ancestry#common-table-expression#genealogy-application

Частые вопросы

Что такое genealogy?
Самостоятельно размещаемое веб-приложение для семейного древа на Laravel с учетом родственников и их связей, а также импортом и экспортом GEDCOM. Genealogy — PHP-веб-приложение для учета членов семьи и связей между ними. Для каждого человека можно указать биологических отца и мать, родителей, партнера и детей, а пары можно отметить как состоящие в браке или разошедшиеся. Древа предков и потомков строятся с помощью рекурсивных обобщенных табличных выражений в MySQL или MariaDB, что позволяет избежать N+1-запросов при построении больших деревьев.
genealogy можно использовать бесплатно? Какая у него лицензия?
genealogy распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
genealogy всё ещё поддерживается?
Активно поддерживается. Последний коммит в genealogy — 6 нояб. 2026 г..
Для чего можно использовать genealogy?
Ведение истории семьи с общим доступом для родственников Изучение генеалогии королевских или известных семей Самостоятельное размещение приватного семейного древа на собственном сервере Изучение структуры приложения на Laravel с командами Jetstream и Livewire
Как установить genealogy?
Загрузите production-образ Docker из GitHub Container Registry: docker pull ghcr.io/mgeurts/genealogy:latest Следуйте руководству по настройке Docker в README-DOCKER.md, чтобы настроить и запустить приложение
Где скачать genealogy?
Исходный код и инструкции по установке — на GitHub: https://github.com/MGeurts/genealogy

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты