How ah-alkhalaf/familienbaum works
Familienstammbaum is a web app for viewing and administering a family tree. Visitors load an interactive D3 visualization; administrators authenticate to add or edit people, move or delete branches, set the founder, export data, and—when super-admin—manage accounts. The browser’s main module coordinates the API, authentication, UI helpers, and renderer. Express handles requests and reads/writes family and user records through GitHub’s contents API. The excerpts show these principal calls; finer server internals are omitted where the partial excerpt does not establish them.
Main entry points: main.js App coordinator · api.js HTTP API client · auth.js Auth client · server.js Family routes
Components 13
Browser application
- App coordinator
public/main.js - HTTP API client
public/modules/api.js - Auth client
public/modules/auth.js - Admin UI helpers
public/modules/ui.js
Family tree
- Tree visualization
public/modules/tree.js - Family routes
server.js
Authentication and users
- Auth routes
server.js - User management
server.js
Persistence
- Family records
family.json - User records
users.json - GitHub contents API
Other components
- Visitor
- Administrator
Connections 14
- Visitor → App coordinator: opens app
README.md - Administrator → App coordinator: uses admin panel
README.md - App coordinator → Auth client: checks auth
public/main.js - App coordinator → Admin UI helpers: initializes UI
public/main.js - App coordinator → HTTP API client: requests data
public/main.js - App coordinator → Tree visualization: renders tree
public/main.js - App coordinator → Admin UI helpers: populates dropdowns
public/main.js - Auth client → Auth routes: sends auth requests
public/modules/auth.js - HTTP API client → Family routes: sends family requests
public/modules/api.js - HTTP API client → User management: sends user requests
public/modules/api.js - Family routes → GitHub contents API: loads and saves
server.js - User management → GitHub contents API: loads and saves
server.js - GitHub contents API → Family records: stores family data
README.md - GitHub contents API → User records: stores user data