Не просто схема с фамилиями и датами, а единое пространство, где можно исследовать род, сохранять историю конкретных людей, делиться ею с родственниками и при этом самостоятельно управлять тем, что остаётся внутри семьи, а что становится публичным.
Обычная генеалогическая схема часто начинается просто: родители, бабушки, дедушки. Но очень быстро становится понятно, что одной прямой линии недостаточно. У человека есть четыре основные линии по своим бабушкам и дедушкам. Если к семейному проекту подключается супруг или супруга — появляется ещё четыре. Итого уже восемь самостоятельных родовых направлений.
Поэтому я сделал интерактивный семейный граф. Можно смотреть всё древо целиком, а можно оставить только определённую ветвь. Можно выбрать конкретного человека и построить только его предков. Или наоборот — всех его потомков. Можно отдельно посмотреть мужскую или женскую линию. Можно приблизить нужную часть дерева, переместиться по нему, найти человека по имени и поставить его в центр.
Когда семейная база становится большой, возникает другой вопрос: как показать родственнику только ту часть дерева, которая действительно относится к нему? Если дать человеку доступ сразу ко всему архиву, через несколько поколений уже становится непонятно: кто здесь его родственник, а кто относится, например, к линии другого супруга.
Поэтому в системе каждая крупная родовая линия существует отдельно. Администратор может открыть конкретному человеку:
Например, родственнику по отцовской линии можно показать именно его род, не перегружая его десятками людей из совершенно других семей. При этом все эти ветви существуют не как отдельные копии. Это одна общая генеалогическая база, просто каждый пользователь видит нужное ему представление.
Большая часть семейной информации по своей природе не должна быть полностью публичной. Поэтому основной архив закрыт. Доступ строится через номер телефона. При первом входе пользователь подтверждает номер по email, затем создаёт собственный PIN-код. После этого устройство можно запомнить, и каждый раз проходить email-подтверждение уже не нужно.
Администратор самостоятельно решает: кому дать доступ, кого отключить, какие родовые линии разрешить конкретному человеку. Причём ограничение работает не просто визуально. Если пользователю какая-то линия запрещена, данные этой линии вообще не передаются ему со стороны сервера.
Это тоже предусмотрено. Необязательно выбирать между полностью закрытым и полностью открытым сайтом. Отдельного человека можно сделать публичным.
Его персональная страница будет доступна без семейной авторизации и сможет индексироваться поисковыми системами. При этом остальные родственники продолжат оставаться внутри закрытого семейного архива. Так семейный сайт одновременно может быть и частным пространством семьи, и публичным историческим проектом.
Одна из главных проблем большинства самодельных генеалогических сайтов — любое изменение требует снова открывать код. Добавился родственник — править HTML. Нашли дату рождения — снова править HTML. Нужно добавить ещё одного ребёнка или второй брак — опять менять структуру страницы вручную.
Здесь всё устроено иначе. У проекта есть полноценная административная часть. Через неё можно:
После этого древо перестраивается автоматически. То есть сайт работает как нормальная информационная система, а не как набор вручную нарисованных страниц.
Во время генеалогического поиска постоянно появляются новые материалы. Сегодня найдено старое фото. Через неделю — архивная запись. Потом — газетная статья. Позже родственник прислал воспоминания. Если всё это складывать в заметки, папки, облака и чаты, через несколько лет становится трудно вспомнить, где именно лежит нужная информация.
Поэтому здесь у каждого человека есть собственная персональная страница. Если найдена фотография — она отправляется в его фотогалерею. Если найден документ или скриншот — он может быть сохранён как источник или материал. Если появилась новая биографическая информация — она сразу добавляется в текст его страницы. Если сведения найдены в интернете — рядом можно сохранить прямую URL-ссылку на источник.
В результате вся информация о конкретном человеке постепенно собирается вокруг него самого. Не где-то рядом с генеалогией. А непосредственно внутри неё.
Персональная страница — это уже не карточка из таблицы. Это полноценная биографическая страница человека. На ней можно разместить:
Если известны координаты могилы, на странице появляется карта с точной точкой захоронения. Так постепенно сайт превращается не просто в дерево родства, а в цифровую память о каждом отдельном человеке.
Фотографии не должны теряться среди папок вроде: «Старые фото», «Семья», «Архив», «Разобрать потом». Каждая фотография может быть привязана к конкретному человеку. У него появляется собственная фотогалерея. Фотографии можно листать, открывать в полноэкранном режиме, снабжать подписями и располагать в нужном порядке.
Со временем персональная страница превращается в маленький семейный музей одного человека.
Для серьёзной генеалогии недостаточно написать: «родился в 1871 году». Через несколько лет обязательно возникает вопрос: а откуда это известно? Поэтому важная часть проекта — хранение источников. К человеку можно привязывать:
Таким образом сохраняется не только факт, но и происхождение этого факта. Это особенно важно, когда семейное исследование продолжается годами и постепенно уходит всё глубже в XVIII–XIX века.
Исторические документы редко бывают настолько аккуратными, как современные базы данных. Иногда известна точная дата: 15 января 1895 года. А иногда только: около 1895 года, между 1907 и 1909 годами или не позднее 1816 года.
Система позволяет сохранять и точные даты, и текстовые исторические формулировки. То есть неизвестную дату не приходится искусственно превращать в выдуманное точное число только потому, что этого требует программа.
Генеалогия — это не только: родился → женился → умер. У каждого человека между этими точками была жизнь. Поэтому здесь можно создавать отдельную хронологию.
Образование. Работа. Военная служба. Переезд. Брак. Награждение. Плен. Репрессия. Рождение детей. Важные семейные события. Каждому событию можно добавить дату, место и описание. В итоге биография человека становится не сплошным текстом, а понятной временной линией.
Если известно место захоронения, его можно сохранить непосредственно на странице человека. Не только название кладбища, но и точные GPS-координаты. На странице появляется карта с маркером могилы.
И тогда любой человек, открывший страницу, сможет с точностью до 1 метра найти место захоронения своего родственника, даже если ранее там никогда не бывал. Это особенно важно для старых семейных захоронений, когда через двадцать или тридцать лет словесного объяснения: «от входа направо, потом около берёзы» уже может оказаться недостаточно.
Когда дерево становится большим, обычная печать перестаёт работать. Поэтому для древа предусмотрен отдельный режим подготовки к PDF. Тёмный экранный интерфейс автоматически превращается в светлый печатный вариант.
Большое дерево можно разбить на несколько листов A4. Перед печатью посмотреть результат. А затем либо распечатать его, либо сохранить PDF. То есть цифровое древо при необходимости можно снова превратить в физический семейный документ.
Именно на это система и рассчитана. В основе лежит единая SQL-база. Человек создаётся один раз. Его родители, супруги, дети, события, фотографии и источники не копируются между разными версиями дерева. Поэтому одна и та же база может одновременно показывать:
Меняется представление. Но сама семейная история остаётся одной.
Потому что они решают разные задачи.
Тёмное, графичное, интерактивное. Здесь главное — видеть структуру рода и быстро перемещаться между поколениями.
Светлая, спокойная, почти редакционная. Здесь главное — человек, его лицо и его история.
Максимально функциональная. Здесь главное — быстро и без ошибок добавлять данные и управлять архивом.
Чтобы семейная история не закончилась папкой фотографий на одном компьютере. Чтобы найденный архивный документ не потерялся через пять лет. Чтобы дети и внуки могли не просто посмотреть схему с фамилиями, а открыть конкретного человека и узнать, кем он был.
Чтобы родственники из разных ветвей могли видеть именно свою часть семьи. Чтобы исторические исследования можно было продолжать годами, не начиная всё заново.
И чтобы каждая новая найденная фотография, дата, документ или семейное воспоминание сразу занимали своё место. Не в отдельной заметке. Не в случайной папке. А в общей истории семьи.
Он никогда окончательно не заканчивается. С каждым новым найденным документом появляется новый факт. С каждым разговором с родственником — новая история. С каждым поколением — новые люди.
Поэтому задача этого проекта не в том, чтобы однажды «нарисовать генеалогическое древо». Задача — создать систему, которая сможет жить вместе с семьёй десятилетиями.