{"id":21240383,"url":"https://github.com/hasauino/family-tree","last_synced_at":"2026-03-02T12:06:16.535Z","repository":{"id":198488826,"uuid":"696987864","full_name":"hasauino/family-tree","owner":"hasauino","description":"A website for storing, browsing, and updating a family tree","archived":false,"fork":false,"pushed_at":"2024-04-26T20:33:18.000Z","size":98421,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-14T01:52:17.513Z","etag":null,"topics":["django","docker","family-history-applications","family-tree","family-tree-website","genealogy","kinship","wagtail"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hasauino.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-26T20:24:35.000Z","updated_at":"2025-03-18T15:54:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"4318fd16-18c2-449e-8317-1bd34a775ca0","html_url":"https://github.com/hasauino/family-tree","commit_stats":null,"previous_names":["hasauino/family-tree"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasauino%2Ffamily-tree","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasauino%2Ffamily-tree/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasauino%2Ffamily-tree/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasauino%2Ffamily-tree/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hasauino","download_url":"https://codeload.github.com/hasauino/family-tree/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248809032,"owners_count":21164895,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","docker","family-history-applications","family-tree","family-tree-website","genealogy","kinship","wagtail"],"created_at":"2024-11-21T00:50:59.317Z","updated_at":"2026-03-02T12:06:16.524Z","avatar_url":"https://github.com/hasauino.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Family Tree\n\n\n\nThis is a platfrom for storing, browsing, and updating a family tree, made using [Django](https://www.djangoproject.com/).\n\n[Demo](http://new.omaritree.com/)\n\n\n\nIt has the following features:\n\n- [x] Users can add new people, navigate the tree (interactively), and search from a root to any person at once.\n- [x] Supported languages: English, and Arabic. (configurable only during deployment).\n- [x] Backups every day at 3:00 am. With a restore DB page accessible to staff users.\n- [x] User registration through email.\n- [x] Staff users see notification on new additions (newly added persons).\n- [x] Normal users can add new persons to the tree, but these additions are **local** and only visible to the user. Once they are published by a staff member, these additions will become **global**.\n- [x] Help and about page are editable using [Wagtail](https://wagtail.org/) CMS.\n- [x] Staff users can add shortcuts (bookmarks), which can be further customized (color, font color, size, and overwrite label).\n\n\n\n## Getting Started\n\n1- Install [docker compose](https://docs.docker.com/compose/install/).\n\n2- Adjust the configurations in the [.env](.env) file.\n\n3 :rocket:  start the server:\n\n```bash\ndocker compose up\n```\n\nGo to [localhost:8000](http://localhost:8000/) (or the port you configured). For admins:\n\n- Default user name: admin\n- default password: admin\n\n- Admin page: http://localhost:8000/edarah\n- [Wagtail](https://wagtail.org/) editor (for editing home, and about pages): http://localhost:8000/tahreer\n\n- There is a normal user whose creditials are:\n  - Username: user1\n  - Password: user12345678\n\n## Development\n\n### Setup\n\n- During development, you can change configurations from the [`.env`](.env) file. You can tell git to ignore your changes:\n\n```\ngit update-index --assume-unchanged .env\n```\n\n- To source this file automatically when you run Django commands through poetry,  you can add [poetry-dotenv-plugin](https://pypi.org/project/poetry-dotenv-plugin/) to poetry.\n\n\n\n- For example, you can run Django development server as follows:\n\n```bash\npoetry run familytree/manage.py runserver\n```\n\nthis will use the environment variables define in `.env`. This way you can selected a different Database file, a different language ,or different project settings, etc..\n\n### Localization\n\n```bash\npoetry run familytree/manage.py makemessages -a\n```\n\nthen compile:\n\n```bash\npoetry run familytree/manage.py compilemessages\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhasauino%2Ffamily-tree","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhasauino%2Ffamily-tree","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhasauino%2Ffamily-tree/lists"}