MCPSERV.CLUB
Genea

Genea

Self-Hosted

Build and edit family trees in the browser

Stale(55)
242stars
1views
Updated Mar 23, 2022
Genea screenshot 1
1 / 2

Overview

Discover what makes Genea powerful

Genea is a lightweight, browser‑centric genealogy platform that focuses on **client‑side processing** of GEDCOM data. By offloading all parsing, rendering, and persistence to the user’s browser, it eliminates the need for a dedicated backend. The application exposes its data model through standard GEDCOM files, which can be stored in any git‑based repository or directly edited on the filesystem. This design makes Genea ideal for developers who need a zero‑touch, self‑hosted solution that can be deployed on any HTTPS‑enabled web server.

GEDCOM 5.5.5 compliance

Graphviz‑powered tree rendering

Vue.js SPA

Materialize

Overview

Genea is a lightweight, browser‑centric genealogy platform that focuses on client‑side processing of GEDCOM data. By offloading all parsing, rendering, and persistence to the user’s browser, it eliminates the need for a dedicated backend. The application exposes its data model through standard GEDCOM files, which can be stored in any git‑based repository or directly edited on the filesystem. This design makes Genea ideal for developers who need a zero‑touch, self‑hosted solution that can be deployed on any HTTPS‑enabled web server.

Key Features

  • GEDCOM 5.5.5 compliance with a few pragmatic extensions (e.g., same‑sex marriage via dual FAM.HUSB/FAM.WIFE).
  • Graphviz‑powered tree rendering compiled to WebAssembly, giving deterministic layouts without server‑side graph generation.
  • Vue.js SPA for a responsive, component‑based UI that can be customized or extended through Vue’s ecosystem.
  • Materialize for a clean, mobile‑friendly interface with minimal CSS overhead.

Technical Stack

  • Frontend: Vue.js 2.x, Materialize CSS, WebAssembly module (hpcc-js-wasm) for Graphviz.
  • Data: Pure GEDCOM text files; no relational database or NoSQL store required.
  • Persistence: Optional integration with git repositories (Gitea, GitLab, GitHub) via the browser’s fetch API; developers can also use local storage or IndexedDB for offline scenarios.
  • Deployment: Static assets served over HTTPS; no server‑side code means any web host (NGINX, Apache, Caddy, Netlify) works. Docker images are not provided, but the simplicity of the stack makes containerization trivial.

Core Capabilities & APIs

  • GEDCOM Parser/Serializer: Exposed as a JavaScript module that can be imported into other projects.
  • Graphviz Wrapper: A thin API that accepts a GEDCOM object and returns SVG markup, allowing developers to embed Genea’s rendering engine in custom dashboards.
  • Event Bus: Vue’s internal event system can be leveraged to hook into editing actions, enabling real‑time collaboration plugins or audit trails.
  • Webhooks: While not built in, the architecture permits adding webhook support by monitoring repository pushes or GitHub Actions that trigger re‑rendering.

Deployment & Infrastructure

  • Self‑Hosting: Serve the static bundle from any HTTPS server. Because there is no backend, scaling is linear with user load on the client devices.
  • Containerization: A minimal Dockerfile can expose a NGINX container serving the dist folder; developers may bundle this with a reverse proxy that handles HTTPS termination.
  • Performance: All heavy lifting (parsing, graph layout) runs in WebAssembly, yielding near‑native speed for medium‑sized trees (hundreds of nodes).

Integration & Extensibility

  • Plugin System: Although Genea does not ship a formal plugin API, its modular Vue components and exposed GEDCOM utilities make it straightforward to create custom modules (e.g., import/export plugins, alternative visualizers).
  • Custom Themes: Materialize’s CSS variables can be overridden to match corporate branding or accessibility standards.
  • Data Export: The application can emit GEDCOM, JSON, or SVG, enabling downstream analytics tools to consume genealogical data.

Developer Experience

  • Configuration: Minimal – a single config.js can point to a git repository URL or local file path.
  • Documentation: The README provides clear guidance on GEDCOM nuances, dependency list, and optional integration points.
  • Community: The project is open‑source on GitHub with an active issue tracker; contributors can fork the repo and submit PRs.

Use Cases

  • Academic Research: Universities can host Genea on campus servers to allow students to build and analyze family trees without installing software.
  • Genealogical Societies: Local clubs can provide a shared, web‑based platform that stores data in a private Git repository.
  • Personal Backup: Developers can integrate Genea into their personal tech stack, syncing GEDCOM files via GitHub or self‑hosted Gitea for off‑site backups.

Advantages Over Alternatives

CriterionGeneaCompeting Self‑Hosted Solutions
Zero Backend✔︎❌ (requires Node/Java/PHP)
Standard ComplianceGEDCOM 5.5.5 + pragmatic extensionsVaries
Deployment SimplicityStatic HTTPS onlyComplex server setup
ExtensibilityVue + WebAssembly APIsOften monolithic
LicensingMIT (assumed)Varies, often GPL
PerformanceWebAssembly renderingServer‑side graph generation

Genea’s combination of client‑side processing, strict GEDCOM support, and minimal deployment footprint makes it a compelling choice for developers who value control, speed, and open‑source freedom in building genealogy applications.

Open SourceReady to get started?

Join the community and start self-hosting Genea today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
other
License
MIT
Stars
242
Technical Specs
Pricing
Free
Supported OS
LinuxWindowsmacOS
Author
genea-app
genea-app
Last Updated
Mar 23, 2022