This is a server for storing, browsing, and updating a family tree, made using Django.
It has the following features:
- Users can add new people, navigate the tree (interactively), and search from a root to any person at once.
- Supported languages: English, and Arabic. (configurable only during deployment).
- Backups every day at 3:00 am. With a restore DB page accessible to staff users.
- User registration through email.
- Staff users see notification on new additions (newly added persons).
- 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.
- Help and about page are editable using Wagtail CMS.
- Staff users can add shortcuts (bookmarks), which can be further customized (color, font color, size, and overwrite label).
1- Install docker compose.
2- Adjust the configurations in the .env file.
3 🚀 start the server:
docker compose up
Go to localhost:8000 (or the port you configured). For admins:
-
Default user name: admin
-
default password: admin
-
Admin page: https://localhost:8000/edarah
-
Wagtail editor (for editing home, and about pages): https://localhost:8000/tahreer
-
There is a normal user whose creditials are:
- Username: user1
- Password: user12345678
- During development, you can change configurations from the
.env
file. You can tell git to ignore your changes:
git update-index --assume-unchanged .env
-
To source this file automatically when you run Django commands through poetry, you can add poetry-dotenv-plugin to poetry.
-
For example, you can run Django development server as follows:
poetry run familytree/manage.py runserver
this 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..
poetry run familytree/manage.py makemessages -a
then compile:
poetry run familytree/manage.py compilemessages