Overview
Discover what makes Genealogy powerful
Genealogy is a self‑hosted family‑tree management system built on Laravel 12, designed for developers who need a robust, extensible backend that can be deployed in diverse environments. At its core, the application models genealogical entities—**persons**, **relationships**, and **families**—and exposes a REST‑style API alongside a live, reactive UI powered by Livewire 4 and Alpine.js 3. The stack is intentionally aligned with the TallStack ecosystem (Laravel, Livewire, Alpine, Tailwind), ensuring a cohesive developer experience and allowing seamless integration with existing Laravel projects.
Framework
UI Layer
Admin Console
Auth & Teams
Overview
Genealogy is a self‑hosted family‑tree management system built on Laravel 12, designed for developers who need a robust, extensible backend that can be deployed in diverse environments. At its core, the application models genealogical entities—persons, relationships, and families—and exposes a REST‑style API alongside a live, reactive UI powered by Livewire 4 and Alpine.js 3. The stack is intentionally aligned with the TallStack ecosystem (Laravel, Livewire, Alpine, Tailwind), ensuring a cohesive developer experience and allowing seamless integration with existing Laravel projects.
Technical Stack & Architecture
- Framework: Laravel 12, providing Eloquent ORM, routing, middleware, and a powerful service container.
- UI Layer: Livewire 4 for component‑driven interactivity, combined with Alpine.js 3 for lightweight JavaScript behaviour. Tailwind CSS 4 delivers utility‑first styling, while TallStackUI supplies pre‑built UI primitives.
- Admin Console: Laravel Filament 4 is used exclusively for the Table Builder, giving developers an out‑of‑the‑box CRUD interface for complex relational data.
- Auth & Teams: Laravel Jetstream 5 implements a full authentication stack with team support, allowing multi‑tenant data isolation.
- Database: Eloquent models map to a relational schema (MySQL/PostgreSQL). The migration files expose the full genealogical data model, including pivot tables for parent–child and spouse relationships.
The application follows a modular architecture: core domain models, service classes for business logic (e.g., generating ancestry trees), and API resources that serialize data into JSON. Livewire components encapsulate form handling, real‑time validation, and dynamic UI updates without page reloads. This separation of concerns makes it trivial to swap out the front‑end layer or expose the same services via a dedicated API gateway.
Core Capabilities & APIs
- CRUD for Persons: Full create, read, update, delete operations with support for multiple identifiers (e.g., birth/death dates, alternate names).
- Relationship Management: Explicit parent/child and spousal links stored in pivot tables, enabling recursive queries for ancestry or descendant trees.
- Team‑Scoped Data: All records are scoped to a team, enforced by middleware. Developers can quickly create multi‑tenant deployments with isolated datasets.
- Export & Import: JSON and GEDCOM export/import endpoints facilitate data migration between Genealogy and other genealogical tools.
- Event Hooks: Laravel events fire on person creation or relationship updates, allowing developers to hook custom logic (e.g., notifying external services).
- API Documentation: Swagger/OpenAPI annotations are available, making it straightforward to generate client SDKs or integrate with external services.
Deployment & Infrastructure
Genealogy is designed for container‑first deployments. A ready‑made Dockerfile and docker-compose.yml expose the standard Laravel stack (PHP 8.3, Nginx/Apache, MySQL/PostgreSQL). The application scales horizontally by running multiple PHP workers behind a load balancer; database replication can be configured for read scalability. For cloud deployments, the repository includes a GitHub Actions workflow that builds Docker images and pushes them to GHCR or any OCI‑compatible registry. Self‑hosting requires minimal prerequisites: PHP 8.3, Composer, a relational database, and a web server.
Integration & Extensibility
- Plugin System: The codebase exposes a simple service provider registration mechanism. Developers can create custom modules that bind to existing events or add new routes without modifying core files.
- Webhooks: Out‑of‑the‑box webhook endpoints can be configured to notify external services on CRUD events, enabling real‑time synchronization with CRMs or genealogical research platforms.
- GraphQL Support: While the primary API is RESTful, a GraphQL layer can be added via Laravel’s
lighthousepackage without touching the domain logic. - UI Customization: Tailwind and Alpine allow developers to override component styles or add new interactive widgets. Filament tables can be reconfigured through YAML or PHP classes.
Developer Experience
The project ships with comprehensive documentation: a detailed README, API annotations, and inline comments. Community support is active on GitHub Issues, with frequent releases that backport security patches to Laravel 12. Configuration is largely environment‑driven (.env), and the application includes a built‑in demo dataset (British Royals, Kennedy) that can be seeded for quick testing. The code follows PSR‑12 standards and is heavily typed, making IDE autocomplete and static analysis straightforward.
Use Cases
- Genealogical Research Platforms: Integrate Genealogy as the backend for a research portal, leveraging its team isolation to manage multiple family groups.
- Educational Tools: Deploy in schools or universities where students collaborate on historical projects, using Livewire’s real‑time editing.
- CMS Extensions: Embed the family tree editor into existing Laravel CMS projects (e.g., OctoberCMS, Statamic) via service providers.
- Data Migration: Use the GEDCOM import/export to migrate legacy data into a modern, web‑based interface.
Advantages Over Alternatives
- Performance: Laravel 12’s query optimization and Livewire’s efficient diffing provide a snappy experience even with large trees.
- Flexibility: The TallStack foundation means developers can swap Livewire for Inertia/Vue or
Open SourceReady to get started?
Join the community and start self-hosting Genealogy today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Concrete CMS
Intuitive, secure content creation for editors and developers alike
Snapcast
Synchronized multiroom audio for your existing player
Fork Recipes
Elegant recipe manager for the modern kitchen
0 A.D.
Free real‑time strategy game set in antiquity
Offen Fair Web Analytics
Privacy‑first web analytics for self‑hosted sites
Kubek
Minecraft server control panel for Linux & Windows