Genealogy
Genealogy is a free and open-source family tree PHP application to record family members and their relationships, build with LARAVEL 12.
Install / Use
/learn @MGeurts/GenealogyREADME
Genealogy
About this project
<b>Genealogy</b> is a free and open-source family tree PHP application to record family members and their relationships, build with Laravel 12.
<img src="https://genealogy.kreaweb.be/img/help/genealogy-000.webp" class="rounded" alt="Genealogy-000"/> <img src="https://genealogy.kreaweb.be/img/help/genealogy-020.webp" class="rounded" alt="Genealogy-020"/>This <b>TallStack</b> application is build using :
<ul> <li><a href="https://laravel.com/" target="_blank">Laravel</a> 12</li> <li><a href="https://jetstream.laravel.com/" target="_blank">Laravel Jetstream</a> 5 (featuring <a href="https://jetstream.laravel.com/features/teams.html" target="_blank">Teams</a>)</li> <li><a href="https://livewire.laravel.com/" target="_blank">Livewire</a> 4</li> <li><a href="https://alpinejs.dev/" target="_blank">Alpine.js</a> 3</li> <li><a href="https://tailwindcss.com/" target="_blank">Tailwind CSS</a> 4</li> <li><a href="https://tallstackui.com//" target="_blank">TallStackUI</a> 3 (featuring <a href="https://tabler.io/icons" target="_blank">Tabler Icons</a>)</li> <li><a href="https://filamentphp.com//" target="_blank">Laravel Filament</a> 5 (only <a href="https://filamentphp.com/docs/5.x/tables/overview" target="_blank">Table Builder</a>)</li> </ul> <img src="https://genealogy.kreaweb.be/img/logo/tallstack.webp" class="rounded" alt="tall-stack"/>Logic concept
-
A person can have 1 biological father (1 person, based on <b>father_id</b>)
-
A person can have 1 biological mother (1 person, based on <b>mother_id</b>)
-
A person can have 1 set of parents, biological or not (1 couple of 2 people, based on <b>parents_id</b>)
-
A person can have 0 to many biological children (n people, based on father_id/mother_id)
-
A couple can have 0 to many (plus) children (based on <b>parents_id as a couple</b> or <b>father_id/mother_id individually</b>)
-
A person can have 0 to many partners (n people), being part of 0 to many couples (opposite or same biological sex)
-
A person can be part of a couple with the same partner multiple times (remarriage or reunite)
-
A person can have 0 to many siblings (n people) (based on <b>parents_id as a couple</b> or <b>father_id/mother_id individually</b>)
-
A couple can be married or not, still together or separated in the meantime
Requirements
<ul> <li> The application must be served in HTTPS mode, not in HTTP.<br/> </li> <li> At least <a href="https://www.php.net/" target="_blank">PHP</a> 8.4, supporting Laravel 12.<br/> </li> <li> At least <a href="https://www.mysql.com/" target="_blank">MySQL</a> 8.0.1 or <a href="https://mariadb.com/" target="_blank">MariaDB</a> 10.2.2 or an equivalent database, supporting <a href="https://dev.mysql.com/doc/refman/8.0/en/with.html" target="_blank">Recursive Common Table Expressions</a>. </li> </ul>License
This project is open-sourced software licensed under the MIT license.
Demo
<a href="https://genealogy.kreaweb.be/" target="_blank">https://genealogy.kreaweb.be/</a>
<p>This demo has 2 family trees implemented, <b>BRITISH ROYALS</b> and <b>KENNEDY</b>.</p> <table> <thead> <tr> <th>E-mail</th> <th>Password</th> <th>Purpose</th> </tr> </thead> <tbody> <tr> <td><b>administrator@genealogy.test</b></td> <td>password</td> <td>to access teams <b>BRITISH ROYALS</b> and <b>KENNEDY</b> as team <b>owner</b></td> </tr> <tr> <td><b>manager@genealogy.test</b></td> <td>password</td> <td>to access team <b>BRITISH ROYALS</b> as <b>manager</b></td> </tr> <tr> <td><b>editor@genealogy.test</b></td> <td>password</td> <td>to access team <b>KENNEDY</b> as <b>editor</b></td> </tr> <tr> <td><b>member_1@genealogy.test</b></td> <td>password</td> <td>to access team <b>BRITISH ROYALS</b> as normal <b>member</b></td> </tr> <tr> <td><b>member_4@genealogy.test</b></td> <td>password</td> <td>to access team <b>KENNEDY</b> as normal <b>member</b></td> </tr> <tr> <td><b>developer@genealogy.test</b></td> <td>password</td> <td>to access options reserved for the <b>developer</b>, like the <b>user management</b> and access to <b>all persons</b> in <b>all teams</b></td> </tr> </tbody> </table>Roles & permissions
Teams & Users
<table> <thead> <tr> <th style="text-align:left">Role</th> <th style="text-align:left">Model</th> <th style="text-align:left">Permissions</th> </tr> </thead> <tbody> <tr> <td rowspan="3"><b>Team owner</b></td> <td>personal team</td> <td>update, invite members</td> </tr> <tr> <td>non-personal team</td> <td>read, update, delete, invite members, transfer ownership</td> </tr> <tr> <td>new team</td> <td>create</td> </tr> <tr> <td rowspan="3"><b>Team member</b></td> <td>personal team</td> <td>update, invite members</td> </tr> <tr> <td>non-personal team</td> <td>accept membership, read, leave</td> </tr> <tr> <td>new team</td> <td>create</td> </tr> </tbody> </table>Persons & Couples
<table> <thead> <tr> <th style="text-align:left">Role</th> <th style="text-align:left">Model</th> <th style="text-align:left">Permissions</th> </tr> </thead> <tbody> <tr> <td rowspan="2"><b>Administrator</b></td> <td>person</td> <td>create, read, update, delete</td> </tr> <tr> <td>couple</td> <td>create, read, update, delete</td> </tr> <tr> <td rowspan="2"><b>Manager</b></td> <td>person</td> <td>create, read, update, delete</td> </tr> <tr> <td>couple</td> <td>create, read, update, delete</td> </tr> <tr> <td rowspan="2"><b>Editor</b></td> <td>person</td> <td>create, read, update</td> </tr> <tr> <td>couple</td> <td>create, read, update</td> </tr> <tr> <td rowspan="2"><b>Member</b></td> <td>person</td> <td>read</td> </tr> <tr> <td>couple</td> <td>read</td> </tr> </tbody> </table>Features
<ul> <li>Light/Dark theme</li> <li>Fully responsive</li> <li>Multi-language, language setting saved in authenticated users profile</li> <li>Multi-timezone, timezone setting saved in authenticated users profile</li> <li>Multi-tenancy by Laravel Jetstream Teams, including Transfer Team Ownership</li> <li>Security through Laravel Jetstream Teams Roles & Permissions, 2FA & API can be enabled</li> <li>Offcanvas menu</li> <li>Multiple image upload with possibility of watermarking, photo carousel with navigation</li> <li>Multiple documents upload</li> <li>Event management & timeline overview</li> </ul>Special features
<p>This application has a built-in <b>Backup Manager</b> : <ul> <li>Backups can be initiated and managed manually</li> <li>Backups can be scheludeld by issuing a cron job on your development or production server</li> <li>An e-mailRelated Skills
node-connect
337.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
337.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.2kCommit, push, and open a PR
