familytree365 / genealogy
Liberu genealogy and family history application.
Package info
github.com/liberu-genealogy/genealogy-laravel
Type:project
pkg:composer/familytree365/genealogy
Fund package maintenance!
Requires
- php: ^8.5
- bezhansalleh/filament-shield: ^4.3.1
- bursteri/socialstream: ^7.0.0
- filament/filament: ^5.11.0
- filament/spatie-laravel-settings-plugin: ^5.11.0
- laravel/cashier: ^16.9.0
- laravel/framework: ^13.38.0
- laravel/horizon: ^5.50.1
- laravel/jetstream: ^5.5.3
- laravel/octane: ^2.22.0
- laravel/pulse: ^1.8.1
- laravel/reverb: ^1.12.0
- laravel/sanctum: ^4.3.3
- laravel/socialite: ^5.31.0
- laravel/tinker: ^3.0.2
- liberusoftware/activity-comments: ^1.0
- liberusoftware/analytics-contracts: ^1.0
- liberusoftware/analytics-core: ^1.0
- liberusoftware/analytics-google: ^1.0
- liberusoftware/analytics-meta: ^1.0
- liberusoftware/api-access: ^1.0
- liberusoftware/application: ^1.0
- liberusoftware/audit: ^1.0
- liberusoftware/composer-installer: ^1.1
- liberusoftware/currency-context: ^1.0
- liberusoftware/developer-experience: ^1.0
- liberusoftware/feature-flags: ^1.0
- liberusoftware/files-media: ^1.0
- liberusoftware/identity-core: ^1.0
- liberusoftware/identity-core-filament: ^1.0
- liberusoftware/identity-socialstream: ^1.0
- liberusoftware/import-export: ^1.0
- liberusoftware/integrations: ^1.0
- liberusoftware/jetstream-bridge: ^1.0
- liberusoftware/localization-contracts: ^1.0
- liberusoftware/localization-core: ^1.0
- liberusoftware/localization-core-livewire: ^1.0
- liberusoftware/localization-mymemory: ^1.0
- liberusoftware/module-genealogy-collaboration: ^1.0
- liberusoftware/module-genealogy-collaboration-api: ^1.0
- liberusoftware/module-genealogy-collaboration-filament: ^1.0
- liberusoftware/module-genealogy-collaboration-livewire: ^1.0
- liberusoftware/module-genealogy-core: ^1.0
- liberusoftware/module-genealogy-core-api: ^1.0
- liberusoftware/module-genealogy-core-filament: ^1.0
- liberusoftware/module-genealogy-core-livewire: ^1.0
- liberusoftware/module-genealogy-discovery: ^1.0
- liberusoftware/module-genealogy-discovery-api: ^1.0
- liberusoftware/module-genealogy-discovery-filament: ^1.0
- liberusoftware/module-genealogy-discovery-livewire: ^1.0
- liberusoftware/module-genealogy-dna: ^1.0
- liberusoftware/module-genealogy-dna-api: ^1.0
- liberusoftware/module-genealogy-dna-filament: ^1.0
- liberusoftware/module-genealogy-dna-livewire: ^1.0
- liberusoftware/module-genealogy-evidence: ^1.0
- liberusoftware/module-genealogy-evidence-api: ^1.0
- liberusoftware/module-genealogy-evidence-filament: ^1.0
- liberusoftware/module-genealogy-evidence-livewire: ^1.0
- liberusoftware/module-genealogy-gamification: ^1.0
- liberusoftware/module-genealogy-import-export: ^1.0
- liberusoftware/module-genealogy-import-export-api: ^1.0
- liberusoftware/module-genealogy-import-export-filament: ^1.0
- liberusoftware/module-genealogy-import-export-livewire: ^1.0
- liberusoftware/module-genealogy-media: ^1.0
- liberusoftware/module-genealogy-media-api: ^1.0
- liberusoftware/module-genealogy-media-filament: ^1.0
- liberusoftware/module-genealogy-media-livewire: ^1.0
- liberusoftware/module-genealogy-people: ^1.0
- liberusoftware/module-genealogy-people-api: ^1.0
- liberusoftware/module-genealogy-people-filament: ^1.0
- liberusoftware/module-genealogy-people-livewire: ^1.0
- liberusoftware/module-genealogy-places: ^1.0
- liberusoftware/module-genealogy-places-api: ^1.0
- liberusoftware/module-genealogy-places-filament: ^1.0
- liberusoftware/module-genealogy-places-livewire: ^1.0
- liberusoftware/module-genealogy-relationships: ^1.0
- liberusoftware/module-genealogy-relationships-api: ^1.0
- liberusoftware/module-genealogy-relationships-filament: ^1.0
- liberusoftware/module-genealogy-relationships-livewire: ^1.0
- liberusoftware/module-genealogy-reports: ^1.0
- liberusoftware/module-genealogy-reports-api: ^1.0
- liberusoftware/module-genealogy-reports-filament: ^1.0
- liberusoftware/module-genealogy-reports-livewire: ^1.0
- liberusoftware/module-genealogy-research: ^1.0
- liberusoftware/module-genealogy-research-api: ^1.0
- liberusoftware/module-genealogy-research-filament: ^1.0
- liberusoftware/module-genealogy-research-livewire: ^1.0
- liberusoftware/module-genealogy-timeline: ^1.0
- liberusoftware/module-genealogy-timeline-api: ^1.0
- liberusoftware/module-genealogy-timeline-filament: ^1.0
- liberusoftware/module-genealogy-timeline-livewire: ^1.0
- liberusoftware/module-genealogy-tree-viewer: ^1.0
- liberusoftware/module-genealogy-tree-viewer-api: ^1.0
- liberusoftware/module-genealogy-tree-viewer-filament: ^1.0
- liberusoftware/module-genealogy-tree-viewer-livewire: ^1.0
- liberusoftware/module-liberu-business-workflow-reconciliation: ^1.0
- liberusoftware/module-liberu-business-workflow-reconciliation-api: ^1.0
- liberusoftware/module-liberu-business-workflow-reconciliation-filament: ^1.0
- liberusoftware/module-liberu-business-workflow-reconciliation-livewire: ^1.0
- liberusoftware/module-liberu-executive-insights: ^1.0
- liberusoftware/module-liberu-executive-insights-api: ^1.0
- liberusoftware/module-liberu-executive-insights-filament: ^1.0
- liberusoftware/module-liberu-executive-insights-livewire: ^1.0
- liberusoftware/module-liberu-platform-orchestration: ^1.0
- liberusoftware/module-liberu-platform-orchestration-api: ^1.0
- liberusoftware/module-liberu-platform-orchestration-filament: ^1.0
- liberusoftware/module-liberu-platform-orchestration-livewire: ^1.0
- liberusoftware/module-liberu-revenue-and-care-orchestration: ^1.0
- liberusoftware/module-liberu-revenue-and-care-orchestration-api: ^1.0
- liberusoftware/module-liberu-revenue-and-care-orchestration-filament: ^1.0
- liberusoftware/module-liberu-revenue-and-care-orchestration-livewire: ^1.0
- liberusoftware/module-manager: ^1.0
- liberusoftware/module-manager-filament: ^1.1
- liberusoftware/notifications: ^1.0
- liberusoftware/observability: ^1.0
- liberusoftware/organizations-teams: ^1.0
- liberusoftware/organizations-teams-filament: ^1.0
- liberusoftware/profiles: ^1.0
- liberusoftware/roles-permissions: ^1.0
- liberusoftware/roles-permissions-filament: ^1.0
- liberusoftware/scheduler-queues: ^1.0
- liberusoftware/search: ^1.0
- liberusoftware/search-api: ^1.0
- liberusoftware/sessions-devices: ^1.0
- liberusoftware/sessions-devices-filament: ^1.1
- liberusoftware/settings: ^1.0
- liberusoftware/settings-filament: ^1.0
- liberusoftware/tenancy: ^1.0.1
- liberusoftware/theme-base: ^2.0
- liberusoftware/theme-clear-signal: ^1.0
- liberusoftware/theme-dark: ^1.0
- liberusoftware/theme-default: ^1.0
- liberusoftware/theme-genealogy: ^1.0
- liberusoftware/theme-support: ^1.0
- liberusoftware/theme-support-livewire: ^1.1
- liberusoftware/two-factor-authentication: ^1.0
- liberusoftware/users-roles: ^1.0
- liberusoftware/webhooks: ^1.0
- livewire/livewire: ^4.4.8
- spatie/laravel-activitylog: ^5.1.3
- spatie/laravel-backup: ^10.3.3
- spatie/laravel-passkeys: ^1.8.1
- spatie/laravel-permission: ^8.3.2
- spiral/roadrunner-cli: ^3.0.1
- spiral/roadrunner-http: ^4.2.1
Requires (Dev)
- fakerphp/faker: ^1.24.1
- filament/upgrade: ^5.11.0
- fruitcake/laravel-debugbar: ^4.4.4
- larastan/larastan: ^3.13.2
- laravel/boost: ^2.10.3
- laravel/mcp: ^1.1.2
- laravel/pint: ^1.32.1
- laravel/sail: ^1.69.0
- laravel/telescope: ^5.26.0
- liberusoftware/boilerplate-scripts: ^1.1
- mockery/mockery: ^1.6.15
- nunomaduro/collision: ^8.9.5
- pestphp/pest: ^5.3.3
- pestphp/pest-plugin-laravel: ^5.0.1
- phpunit/phpunit: ^13.4.3
- spatie/laravel-ignition: ^2.12.1
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-main
- v7.0.5
- v7.0.4
- v7.0.3
- v7.0.2
- v7.0.1
- v7.0.0
- v6.0.0
- v4.10.0
- v4.9.0
- v4.8.0
- v4.7.0
- v4.6.0
- v4.5.0
- v4.4.0
- v4.3.0
- v4.2.0
- v4.1.0
- v4.0.0
- 3.1.5
- 3.1.0
- 3.0.1
- 3.0.0
- 2.2.0
- 2.1.0
- 2.0.0
- 1.3.0
- 1.2.0
- 1.1.0
- 1.0.1
- 1.0.0
- dev-fix/publisher-fail-safe
- dev-fix/deterministic-search-test-20261025
- dev-fix/tests-install-workflows-20261025
- dev-module-migration
- dev-old
- dev-feat/1648-og-tags
- dev-feat/1638-paywall-flag
- dev-feat/1635-billing-interval-ux
- dev-feat/1635-subscription-paywall
- dev-fix/1619-to-main
- dev-feature/1617-families-table
- dev-fix/profile-page-css
- dev-fix/1624-payment-gate
- dev-fix/1616-reports
- dev-fix/1615-family-tree-charts
- dev-feat/1614-card-required-billing
- dev-feature/08a-conferencing-unavailable
- dev-fix/family-event-resource-phantom-columns
- dev-fix/filament-removed-api-fatals
- dev-fix/family-children-app-person
- dev-fix/family-matching-account-id
- dev-fix/person-children-union-relation
- dev-fix/document-transcription-tenant-scope
- dev-chore/deps-ci-actions
- dev-chore/deps-npm-update
- dev-refactor/consolidate-app-navigation
- dev-feat/coherent-super-admin-bootstrap
- dev-chore/remove-dead-registration-access-code
- dev-feat/background-work-tenant-safe
- dev-test/pin-editteam-authorization
- dev-fix/checklist-cross-user-access
- dev-feat/authorize-pages-and-livewire
- dev-chore/collapse-nav-groups
- dev-fix/gramps-export-leak
- dev-fix/gedcom-upload-rejects-real-files
- dev-feat/authorize-relation-managers
- dev-feat/collaboration-tiers
- dev-chore/green-quality-gate
- dev-feat/team-scoped-roles
- dev-fix/permissions-follow-tenant
- dev-fix/tenant-access-control
- dev-fix/unrecognised-achievement-keys
- dev-fix/dna-unmeasured-confidence
- dev-fix/triangulation-threshold
- dev-fix/dispose-no-comparison-matches
- dev-fix/large-scale-dna-v2
- dev-fix/large-scale-dna-processing
- dev-fix/untruthful-signatures
- dev-fix/inert-statistics
- dev-fix/meeting-password-entropy
- dev-fix/handwriting-confidence
- dev-fix/database-notification-channel
- dev-chore/audit-module-framework
- dev-chore/audit-fabrication-round2
- dev-chore/audit-fabricated-features
- dev-chore/drain-fatals-round3
- dev-chore/drain-fatals-round2
- dev-chore/drain-larastan-fatals
- dev-chore/phpstan-larastan-ratchet
- dev-feat/person-asso-and-source-links
- dev-fix/gedcom-queueimport-args
- dev-chore/ci-quality-gates-n7
- dev-feat/dna-privacy-c6
- dev-feat/dna-engine-c7
- dev-feat/scope-p2b
- dev-feat/scope-p2a
- dev-feat/scope-p1
- dev-fix/scope-p0
- dev-fix/filament-v5-form-drift
- dev-feat/homepage-records-office
- dev-docs/design-context
- dev-chore/remove-agent-worktrees
- dev-copilot/fix-after-create-method-bug
- dev-copilot/improve-ui-ux
- dev-copilot/fix-filament-panels-component-error
- dev-copilot/update-gedcom-blade-file
- dev-copilot/fix-gedcomresource-create-page
- dev-copilot/fix-view-action-error
- dev-copilot/update-gedcomresource-file-upload
- dev-copilot/fix-relationship-model-error
- dev-copilot/auto-login-user-fix-buttons
- dev-copilot/investigate-gedcom-upload-issue
- dev-copilot/upgrade-livewire-3-to-livewire-4
- dev-copilot/fix-gedcom-import-job
- dev-copilot/fix-import-job-relationship
- dev-copilot/fix-gedcom-file-upload-logs
- dev-copilot/fix-media-object-column-error
- dev-copilot/debug-import-gedcom-job
- dev-copilot/fix-tree-test-null-type-id
- dev-copilot/fix-husband-id-null-error
- dev-copilot/fix-undefined-method-error
- dev-copilot/fix-protected-property-access
- dev-copilot/fix-import-gedcom-dispatch
- dev-copilot/fix-gedcom-import-people-family-table
- dev-copilot/fix-first-login-redirect
- dev-copilot/fix-subms-table-foreign-key
- dev-copilot/add-policy-to-allow-create
- dev-copilot/fix-gedcom-import-issue
- dev-copilot/rename-pedigree-chart-page
- dev-copilot/fix-homepage-link-premium-features
- dev-copilot/update-whatsapp-number-and-icon
- dev-copilot/fix-gedcom-upload-error
- dev-copilot/add-upload-button-gedcoms-dnas
- dev-copilot/fix-gedcoms-dnas-upload-issues
- dev-copilot/setup-403-forbidden-check-policy
- dev-copilot/fix-premium-dashboard-stripe-subscriptions
- dev-copilot/fix-dna-kit-upload-link
- dev-copilot/fix-team-id-and-update-references
- dev-copilot/fix-gedcom-upload-link
- dev-copilot/fix-workflows-main-yml-syntax-errors
- dev-copilot/fix-upload-coverage-error
- dev-copilot/fix-dna-triangulation-service-error
- dev-copilot/fix-remaining-tests-logic
- dev-copilot/fix-broken-tests-logic
- dev-copilot/fix-phpunit-test-failures
- dev-copilot/fix-mysql-install-test-workflow
- dev-copilot/replace-docker-setup-and-install-octane
- dev-copilot/fix-filament-resources-visibility
- dev-copilot/add-links-to-app-panel
- dev-copilot/add-resources-and-pages-to-apppanel
- dev-copilot/fix-navigation-icons-issue
- dev-copilot/fix-filament-app-panel-menu
- dev-copilot/fix-phpunit-tests-and-docker
- dev-copilot/update-whatsapp-number-and-badges
- dev-copilot/improve-tree-rendering-features
- dev-copilot/improve-dna-kit-import-support
- dev-copilot/move-resources-to-app-directory
- dev-copilot/fix-147778832-752324280-5f3b4d76-8383-4df7-886c-8be6cda098f6
- dev-copilot/fix-147778832-752324280-da02a53c-1b51-4639-b447-6af041fb189c
- dev-copilot/fix-147778832-752324280-4290488a-b481-4dcd-91df-bcc931b0286b
- dev-copilot/fix-147778832-752324280-6fdf07cd-3308-4797-a27f-9286c77e8726
- dev-copilot/fix-147778832-752324280-8d0caa69-23f9-4a97-8a3e-b2440a21f6a4
- dev-copilot/fix-147778832-752324280-384af88f-e02f-4ff4-97cf-6c028ce92b0b
- dev-copilot/fix-147778832-752324280-175bf386-103d-4303-aebb-705b153b2428
- dev-copilot/fix-147778832-752324280-ec872bbb-99c2-492b-aa52-7b389ae6672c
- dev-copilot/fix-147778832-752324280-46dda9cc-508c-455d-a338-8ef6e812c668
- dev-copilot/fix-147778832-752324280-83694632-4ce3-48fb-b9cf-f16b591b5240
- dev-copilot/fix-147778832-752324280-e9ea0b26-a81d-4e75-82a2-c003b007a9d5
- dev-copilot/fix-147778832-752324280-bcb2912f-c764-48e3-9186-16af909df8d4
- dev-copilot/fix-147778832-752324280-f276bfc5-51b9-4615-9fd5-75bb6cbc59a7
- dev-copilot/fix-147778832-752324280-997c9869-5abf-470e-a721-16517490059f
- dev-copilot/fix-147778832-752324280-e939cc54-f5f4-42ba-914c-c590482d1b38
- dev-copilot/fix-147778832-752324280-25479a39-a5ea-48e9-86fb-c30ec088e854
- dev-copilot/fix-147778832-752324280-a4a1a3e5-90fd-4b6d-bcf6-14c0f8a44f73
- dev-copilot/fix-147778832-752324280-2a6639e3-4d6f-4570-9c59-c90abb67bce4
- dev-copilot/fix-147778832-752324280-62999851-e066-4d49-9090-07ed43871f02
- dev-copilot/fix-147778832-752324280-c45190c7-1ccf-45cd-b394-bd2bb6f8be60
- dev-copilot/fix-147778832-752324280-38e57430-6860-438b-a844-6830b81ea4b3
- dev-copilot/fix-147778832-752324280-f30ded95-c6f4-404b-b4a8-8ad9c5be59f6
- dev-copilot/fix-147778832-752324280-b6b354d2-03e9-4eca-90e3-19afad431d55
- dev-copilot/fix-147778832-752324280-4664ecc7-06c5-4689-abeb-543dc88b94f2
- dev-copilot/fix-147778832-752324280-eca0263e-5354-4ab0-abea-90d51df70a00
- dev-copilot/fix-147778832-752324280-bad7c084-cc64-4790-b1f5-58c977149b6a
- dev-copilot/fix-147778832-752324280-aebc887b-37d0-4564-bffd-c327e52189be
- dev-copilot/fix-147778832-752324280-14b27f0e-cb9d-4f05-a717-326c672da9dd
- dev-copilot/implement-grampsxml-import-export
- dev-copilot/add-missing-features
- dev-copilot/implement-missing-features
- dev-copilot/implement-facial-recognition
- dev-copilot/add-social-media-integration
- dev-copilot/add-handwritten-document-transcription
- dev-sweep/Enhance-CSRF-Protection-in-Authentication-Forms
- dev-sweep/Enhance-CSRF-Protection-and-Session-Management
- dev-sweep/Add-Backup-CSRF-Token-Fields-to-Registration-Forms
- dev-sweep/Add-Button-Styling-Class-to-Site-CSS
- dev-sweep/Add-Socialstream-Routes-and-Descendant-Chart-Controller
- dev-sweep/Remove-Filament-Upgrade-Command-from-Post-Autoload-Scripts
- dev-sweep/Fix-Home-Layout-Structure-and-Template-Inheritance
- dev-sweep/Optimize-Service-Provider-Bindings-and-Remove-Circular-Dependencies
- dev-sweep/Optimize-Service-Provider-Bindings-to-Prevent-Circular-Dependencies
- dev-sweep/Fix-Syntax-Error-in-PersonAnciFactory
- dev-sweep/Add-TeamServiceProvider-with-Model-Bindings
- dev-sweep/Enhance-Error-Logging-and-Update-Livewire-Components
- dev-sweep/Enhance-Error-Logging-and-Increase-Memory-Limit
- dev-sweep/Enhance-Error-Logging-and-Update-Tests
- dev-sweep/Enhance-Team-Management-and-Validation-in-Genealogy-Laravel-Application_a80f9
- dev-sweep/Enhance-Team-Management-and-Validation-in-Genealogy-Laravel-Application
- dev-sweep/Enhance-User-Interface-with-Improved-Input-Styles-and-Accessibility
- dev-sweep/Enhance-DNA-Matching-Job-with-Improved-Error-Handling-and-Output-Management
- dev-sweep/Refactor-DNA-Matching-Job-and-Clean-Up-Redundant-Code
- dev-sweep/Upgrade-Dependencies-and-Enhance-Filament-Resources
- dev-sweep/Update-Filament-and-Related-Packages-to-Latest-Development-Versions
- dev-sweep/Refactor-and-Improve-Code-Quality-in-Genealogy-Laravel-Project
- dev-sweep/Update-Project-Dependencies-and-Refactor-Livewire-Components
- dev-sweep/Laravel-12-and-Dependency-Upgrades-with-Code-Modernization
- dev-sweep/Update-Test-Cases-and-Imports-for-Filament-Resources
- dev-sweep/Enhance-Test-Coverage-for-Genealogy-Laravel-Application
- dev-sweep/Add-Unit-Tests-for-Filament-Resources
- dev-sweep/Enhance-Test-Suite-and-Code-Quality-in-Genealogy-Laravel-Project
- dev-sweep/Upgrade-PHP-Version-to-8-4-and-Remove-Unnecessary-Dependencies
- dev-sweep/Improve-GEDCOM-Export-and-Subscription-Testing
- dev-sweep/Cleanup-Remove-Unnecessary-Test-Documentation-in-ExampleTest
- dev-sweep/Update-CircleCI-Configuration-to-PHP-8-4
- dev-sweep/Implement-Interactive-Family-Tree-Builder-with-Drag-and-Drop-Functionality
- dev-sweep/Add-Cashier-support-and-remove-Billable-trait-from-Team-model
- dev-sweep/Implement-People-Dashboard-and-Person-Resource
- dev-sweep/Improve-people-search-and-dashboard
- dev-sweep/Implement-Premium-Membership-and-Subscription-Management
- dev-sweep/Restrict-access-to-admin-panel-to-only-admin-users
- dev-sweep/Add-Filament-dashboard-and-widgets
- dev-sweep/Implement-Filament-Dashboard-and-Widgets
- dev-sweep/Optimize-Person-model-and-add-performance-tests
- dev-sweep/Improve-Docker-image-setup-and-key-generation
- dev-sweep/Fix-issue-with-StripeSubscriptionServiceTest-unit-test
- dev-analysis-e0Z227
- dev-sweep/add_hero_image_from_mainheropng_to_home
This package is auto-updated.
Last update: 2026-11-09 14:01:07 UTC
README
A collaborative Laravel application for building, researching, and preserving family history.
Liberu Genealogy helps individuals, families, and research groups turn scattered records into a connected family history. Create family trees, document people and relationships, attach evidence, explore timelines and places, import existing data, and collaborate in a privacy-aware workspace.
What you can do
- Build family trees with people, families, partners, children, events, and relationship calculations
- Record places and hierarchical locations for births, marriages, deaths, migrations, and other life events
- Organise sources, citations, evidence, media, and research projects around the people they support
- Import and export GEDCOM and Gramps XML data while preserving family and person events
- Explore pedigree, descendant, timeline, and family-group reports
- Manage DNA kits, groups, comparisons, matches, and triangulation workflows
- Collaborate through shared research spaces with tenant-scoped access and privacy controls
- Use the web interface through Filament and Livewire or integrate through authenticated APIs
Requirements
| Dependency | Supported version |
|---|---|
| PHP | 8.5 |
| Laravel | 13.x |
| Filament | 5.x |
| Livewire | 4.x |
| Composer | 2.x |
| Node.js | Latest stable release |
| Database | SQLite, MySQL, MariaDB, or another Laravel-supported database |
Quick start
git clone https://github.com/liberusoftware/project-genealogy-laravel-filament.git
cd genealogy-laravel
composer install
cp .env.example .env
php artisan key:generate
npm install
npm run build
php artisan migrate
php artisan serve
Review .env before migrating. Use php artisan migrate --seed when example data is wanted. Queue and scheduled work can be run with the Laravel commands appropriate to the selected deployment.
Optional Premium billing
The application is fully open by default. Set PREMIUM_ENABLED=true for a SaaS deployment. Premium then provides a seven-day trial with Stripe checkout, priced at £2.49 monthly or £24.99 yearly. On the first checkout request, the application automatically creates one application-specific Stripe Product and the requested recurring Price, then stores the IDs locally for reuse. Set PREMIUM_STRIPE_APPLICATION_KEY to a stable unique identifier for the SaaS application; otherwise it is derived from the application name and URL. This keeps separate SaaS applications isolated even when they share one Stripe account. Existing Stripe Price IDs may still be supplied through PREMIUM_STRIPE_MONTHLY_PRICE_ID and PREMIUM_STRIPE_YEARLY_PRICE_ID as overrides.
Cards are required by default when Premium is enabled. Set PREMIUM_REQUIRE_CARD=false to offer an explicit no-card local trial instead. A cancelled trial remains available until the seven-day period ends; after expiry the account is suspended except for GEDCOM export, affiliate pages, and payment pages.
Architecture
Genealogy is assembled from focused Composer packages. Core domain modules remain independent from presentation concerns; API, Filament, and Livewire packages provide optional adapters for each capability.
Application composition
├── modules/ # Genealogy and shared Composer modules
├── app/ # Host application and integration code
├── config/ # Enabled modules and application policy
├── database/ # Host migrations and seeders
└── tests/ # Cross-module and application tests
The principal domain packages are:
| Area | Packages |
|---|---|
| Core genealogy | Trees, people, families, relationships, identifiers, privacy, and terminology |
| Research | Sources, evidence, citations, research projects, timelines, and places |
| Exchange | GEDCOM and Gramps XML import/export |
| DNA | Kits, groups, matches, comparisons, and triangulation |
| Collaboration | Shared spaces and research coordination |
| Presentation | Filament and Livewire interfaces plus authenticated API adapters |
Installed modules are tracked under /modules, with composer.lock pinning their releases. Generic capability changes belong in the relevant module repository; host-specific composition belongs here.
Testing and quality
composer validate --strict vendor/bin/pest vendor/bin/pint --test vendor/bin/phpstan analyse --no-progress --memory-limit=512M npm run build
Run php artisan test for the application suite. Module-specific tests and documentation live with each module under modules/.
Documentation
Security
Do not report security vulnerabilities through public GitHub issues. Email security@liberusoftware.com with reproduction details and the affected version so the report can be handled privately.
Contributing
Bug reports, genealogy-domain feedback, documentation improvements, and focused pull requests are welcome. Please search existing issues first, explain the problem and approach, and include tests for behaviour changes. Changes to a reusable module should be made in that module's repository and released before updating this application.
License
Liberu Genealogy is open-source software available under the MIT License.
Automatic module and theme publishing
.github/workflows/sync-packages.yml publishes packages changed under modules/
or themes/ on pushes to main. A manual run reconciles all tracked packages.
Each package needs a composer.json with a liberusoftware/* name. Files are
copied from Git into the root of liberusoftware/module-<directory> or
liberusoftware/theme-<directory>. Where .liberu-meta.json defines a
repositoryPrefix, that design is authoritative (for example,
modules/module-manager becomes module-module-manager). Without a configured
prefix, an existing module- or theme- directory prefix is kept. Destination
history is preserved, deleted files are removed, and unchanged packages do not
receive another commit or release. Removing an entire package leaves its public
repository intact. This workflow makes tracked package edits publishable; install
checks still require the project's Composer dependencies to resolve to those
published package contents.
Configure these secrets in the packagist GitHub environment (or as repository
or organization secrets available to this repository):
MODULE_SYNC_TOKEN: organization-authorized GitHub token able to create public repositories and read/write package contents and releases across the target repositories. Because package snapshots include.github/workflows, allow workflow writes too. A classic PAT needsrepoandworkflowscopes and an organization role permitted to create repositories. The defaultGITHUB_TOKENcannot publish across these repositories.PACKAGIST_USERNAME: Packagist account that owns or maintains these packages.PACKAGIST_API_TOKEN: that account's main API token, required to submit new packages as well as update existing packages.
New packages start at their declared stable Composer version, or v1.0.0.
Existing packages use the highest stable repository tag: a higher declared
Composer version wins, BREAKING CHANGE: or type!: commits bump major,
feat: commits bump minor, and other changes bump patch. Only commits touching
the package since the last successful sync affect this decision. The first
automated run and manual runs reconcile all packages, so canceled or failed
runs cannot silently drop package changes. Tags and commits are
pushed atomically, then a GitHub release is created and the package is submitted
to or refreshed on Packagist. Rerunning a failed job completes publication
without issuing another release for the same contents. Concurrent pushes from
other projects are rejected instead of force-pushed; rerun the failed job.
The source project and its lockfile are not rewritten by publication. Different
projects publishing the same directory name share a destination repository;
coordinate their package contents. Run the publisher's local tests with
python3 -m unittest discover -s .github/scripts -p 'test_sync_packages.py'.
Project family and presentation options
This repository hosts Genealogy with Laravel and Filament. Family trees, research, evidence and collaboration. Its existing installation instructions and manifests govern this application. The other presentations are independent skeletons derived from their matching Boilerplate foundation; repository availability does not establish product feature parity.
Other Laravel and Filament projects
| Project | Scope |
|---|---|
| Boilerplate | Shared application foundation and module composition |
| Accounting ERP | Ledgers, tax, reporting and finance workflows |
| Automation | AI gateways, approvals, rules and integrations |
| Billing | Subscriptions, pricing, payments and provisioning |
| Browser Game | Game worlds, players and community workflows |
| CMS | Content authoring, publishing and delivery |
| Control Panel | Infrastructure and hosting operations |
| CRM | Relationships, sales pipelines and customer service |
| Ecommerce | Catalogs, checkout, orders and fulfillment |
| Enterprise SAP | Enterprise workspace and cross-product orchestration |
| Liberu Platform | Official sites, staff applications and platform composition |
| Maintenance | Assets, work orders, schedules and field operations |
| Music DAW | Composition, recording, sequencing and audio production |
| Real Estate | Listings, sales, lettings and agency operations |
| Social Network | Profiles, feeds, communities and moderation |
Other presentations for Genealogy
- Laravel · Inertia · Vue: Laravel routes and sessions with Vue pages over the Inertia protocol.
- Laravel · Inertia · React: Laravel routes and sessions with React pages over the Inertia protocol.
- Nuxt · Vue: Independent Vue application with Nuxt server rendering and reviewed API integration.
- Next.js · React: Independent React application with explicit Next.js server/client boundaries.
- React Native · Expo: Native iOS/Android application using React Native and Expo.
- Flutter · Mobile: Flutter iOS/Android application using Dart and mobile widgets.
- Dart · Desktop: Dedicated Dart desktop application with a Flutter host for Linux, macOS and Windows.
- Dart · Mobile: Separate Dart mobile application with a Flutter host for iOS and Android.
Use the presentation implementation guides and product documentation to select compatible modules, reviewed contracts and the correct deployment boundary. Laravel remains authoritative for domain rules and tenant authorization across all clients.