Logo Lanfrica

hazvineyi1/the_baobab_project

Domaine:

natural language processing

Type de record:

software
Créateur:
haz
Hôte:
A collaborative Shona family tree with kinship-term logic, built for deployment on Railway. # The Muwuyu Project A shared, editable Shona family tree with a built-in kinship-term engine — the classificatory system where there is no "aunt", "uncle" or "cousin", just Baba, Tete, Sekuru, Mukoma and so on — plus totems, birth order, and a baobab that grows roots down into the soil and branches up into the canopy. The whole frontend is one self-contained file with no build step (`public/index.html`). The server is Node/Express over Postgres. ## Credits `public/baobab.webp` — the baobab standing behind the family — is derived from a photograph supplied by the project owner, reduced to a greyscale alpha mask. Replacing it is one file drop; see **The backdrop** in docs/ARCHITECTURE.md. ## Storage The tree lives in real Postgres tables — people, unions, partner links and child links, with the "one set of parents" rule enforced by a primary key rather than a hopeful check in JavaScript. See **[docs/ARCHITECTURE.md] (docs/ARCHITECTURE.md)** for the schema, the operations API, the concurrency model and the measured performance numbers. Two relatives editing at the same time both keep their work: writes are small named operations applied in one transaction, not a whole-tree overwrite. ```bash npm start # applies schema migrations on boot node scripts/migrate-data.js # inspect the old blob, write nothing node scripts/migrate-data.js --apply # move it into the real tables npm test # 165 tests; needs TEST_DATABASE_URL ``` ## What "shared" means here There is **no login** on the currently deployed site. Anyone who has the URL can see and edit the whole tree. Personal settings — who you've picked as "you," which layout orientation you prefer, which branches you've folded — stay in your own browser (`localStorage`) and are never sent to the server. Everything else (names, totems, relationships) is genuinely shared and public to anyone with the link. Don't put sensitive personal information in it. # …

Languages