Skip to content

Repository files navigation

Family Tree Application

Ohio University Computer Science Fall 2026 Contributors: Kai Battistoni, Joey Ruffing, Ethan Claybourn, Abram Eastham, Chayse Collins


This C++ & JS webapp allows users to intuitively track their lineage and familial relationships visually.

Compile with command : make clean && make Run with command : ./family_tree.prog [optional: port, default is 8080] Example : ./family_tree.prog 12345 to start a webserver on port 12345.

To use the local browser interface, run the server and open http://127.0.0.1:8080 (do not open client/index.html as a file). The interface reads and updates the C++ person objects directly.

The map initializes empty. Use the plus button to add the first person, then select that person to edit them, or add a sibling, parent, child, or spouse branch.

Birthday inputs and gender are optional; when provided, the value year of birth is displayed beneath each person, and gender defines sphere color.

The graph uses connected family systems with parent-centered child orbits.

Use the 'Save map' button to create a named .save file. If one already exists, it will prompt you to load it upon accessing the webapp. The person editor allows individuals' relationships and data to be edited manually. Use the add button below the graph to create a disconnected person.

FamilyTree provides plaintext persistence through save("treename") and load("treename"), which use treename.save. Changes are otherwise held in memory until the server stops.

As of commit #5e9e111 , Saves now include relative position vectors, which means loading existing files is much more visually stable than before.


Email

About

A relationship tracker made by a couple of university students

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages