Coder Social home page Coder Social logo

genea-app / genea-app Goto Github PK

View Code? Open in Web Editor NEW
175.0 4.0 40.0 4.18 MB

Visually build and edit family trees online. Genea is a completely serverless solution for consuming and authoring GEDCOM genealogy data.

License: MIT License

JavaScript 92.39% CSS 0.23% HTML 7.38%
genea family-tree gedcom genealogy serverless

genea-app's Introduction

Genea

Genea allows visually building and editing a family tree online. It consumes and saves genealogy data in the GEDCOM format without any server side components.

Demo

Installation

  • Unpack files into directory and serve over HTTPS to have complete control over the version you are running.
  • Alternatively, use the Genea.app website without having to ramp up your own server.
  • Optionally, host your own Git instance like Gitea or GitLab to privately store your data and make it accessible from multiple devices, or use a free repository with a service like GitHub. You can always directly interact with GEDCOM files as well.

Family tree drawing

Genea uses the Graphviz library compiled into WebAssembly to draw the family tree. It uses a default structure that includes grandparents, parents, partners, siblings and children. An abstraction layer built on top of this allows for easily assigning the right data to the right node.

GEDCOM format

Implementation of the GEDCOM format in Genea intentionally differentiates itself slightly from the true standard, as it allows a FAM record to contain either two FAM.HUSB or FAM.WIFE records to indicate a same sex marriage. Other types of relationships between people are not supported due to the lack of GEDCOM to specify a gender neutral FAM.PART(NER) record.

Screenshots and video

Family tree

Family tree

Editing detail

Editing details

Drawing family tree

Drawing.family.tree.mp4

Dependencies

genea-app's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

genea-app's Issues

Invalid GEDCOM

I created a simple tree via https://www.genea.app/, adding father Johannes Doe and mother Jane Doe to main person John Doe. Then I exported the GEDCOM and got the following invalid GEDCOM:

0 HEAD
1 GEDC
2 VERS 5.5.5
2 FORM LINEAGE-LINKED
3 VERS 5.5.5
1 CHAR UTF-8
1 SOUR genea.app
0 @U@ SUBM
1 NAME genea.app
0 @I1@ INDI
1 NAME John /Doe/
2 GIVN John
2 SURN Doe
1 SEX M
1 FAMC @F1@
1 FAMC @F1@
0 TRLR
0 @I2@ INDI
1 NAME Johannes /Doe/
2 SURN Doe
2 GIVN Johannes
1 SEX M
1 FAMS @F1@
1 FAMS @F1@
0 @I3@ INDI
1 NAME Jane /Doe/
2 SURN Doe
2 GIVN Jane
1 SEX F
1 FAMS @F1@
0 @F1@ FAM
1 HUSB @I2@
1 WIFE @I3@
1 CHIL @I1@
  • There should be only one 1 FAMC @F1@ with @I1@
  • There should be only one 1 FAMS @F1@ with @I2@ (@I3@ does have one)
  • The line 0 TRLR should be the last line

problem with GEDCOM format

When we try to open the GEDCOM file generated by the Genea-app in other genealogy softwares or websites, the whole tree is not created. and the GEDCOM file generated by others is well understood by the Genea-app and the wole tree is viewed. According to me, this is the probem of the GEDCOM file format generated by the Genea-app.

i think this is due to the "0 TRLR" statement just after the details of the first person in the GEDCOM file.

I whole-heartedly welcome the ideas whoever wants to help me to resolve this issue.

Sibling Relations

I don't see a way to modify the tree to show that siblings have different parents. My tree is kind of complicated (my brother I grew up with is technically a half brother with a different father; his father had a total of 13 children and my father had a total of 6) but the lines for him draw from my father.

Is there a way to edit this?

fg

Possibility to view whole tree

So, as far as i see it the app only displays the immidiat family members of the selected person.
While that sure ist better to work with it would be great to have the Option to "unfold" the whole tree.
This would be good for having a visual overview of the complete structure and would also make the result printable/ displayable for other people.

Is there a plan to implement such an option in the future?

"Save to Git" button not opening modal

Description

"Save to Git" button not opening Modal

Steps to reproduce

  1. Open start app and open web app
  2. click "Start new family tree"
  3. click "Save to Git"

Actual result

Nothing happens on page.

console error as follows:

vue.js:634 [Vue warn]: Error in v-on handler: "TypeError: Cannot read properties of null (reading 'open')"

(found in <Root>)
warn @ vue.js:634
logError @ vue.js:1893
globalHandleError @ vue.js:1888
handleError @ vue.js:1848
invokeWithErrorHandling @ vue.js:1871
invoker @ vue.js:2188
original._wrapper @ vue.js:7547
vue.js:1897 TypeError: Cannot read properties of null (reading 'open')
    at Vue.openGitModal ((index):449)
    at Vue.saveGit ((index):509)
    at click (eval at createFunction (vue.js:11649), <anonymous>:3:6790)
    at invokeWithErrorHandling (vue.js:1863)
    at HTMLAnchorElement.invoker (vue.js:2188)
    at HTMLAnchorElement.original._wrapper (vue.js:7547)

Expected result

Open git save modal.
image

DevTools failed to load source map

JS Console outputs this:

DevTools failed to load source map: Could not load content for https://unpkg.com/index.umd.min.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE

When cloning and serving the files with nginx I get this error. The page load looks like this:

image

nginx.conf

genea % cat nginx.conf
worker_processes auto;
events {
    worker_connections 768;
    }
http {
    server {
        listen 80;
        location / {
            root /www/;
        }
    }
}

I have the base directory of git mapped to /www.

root@ea7c06d55dfa:/# ls -l /www
total 52
-rw-r--r--  1 root  root     13 Sep 27 21:07 CNAME
-rw-r--r--  1 root  root   1066 Sep 27 21:07 LICENSE
-rw-r--r--  1 root  root   2485 Sep 27 21:07 README.md
drwxr-xr-x  6 nginx nginx   192 Sep 27 21:07 components
drwxr-xr-x  3 nginx nginx    96 Sep 27 21:07 css
-rw-r--r--  1 nginx nginx   318 Sep 27 21:07 favicon.ico
drwxr-xr-x  3 nginx nginx    96 Sep 27 21:07 img
-rw-r--r--  1 nginx nginx 34852 Sep 27 21:07 index.html
drwxr-xr-x  5 nginx nginx   160 Sep 27 21:07 js
drwxr-xr-x  3 nginx nginx    96 Sep 27 21:07 modals
drwxr-xr-x  6 nginx nginx   192 Sep 27 21:07 resources
drwxr-xr-x 11 nginx nginx   352 Sep 27 21:07 sample
drwxr-xr-x  7 nginx nginx   224 Sep 27 21:07 screenshots

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.