Della is a Django app for managing Secret Santa/Gift Exchange. It is written for small communities where participants are in the range of 200-250 but not more (Why so?).
Della has very limited set of features, however, if you need some extra feature then feel free to tweet me and I might consider adding it.
- User signup (with invite code)
- Messaging and secret/sneaky messaging (with email notifications)
- Gallery
- Admin features - Drawing names, Sending mass emails
Check here.
- Python 3.5
- PostgreSQL (or MySQL)
- nginx
- supervisord
Della uses Sparkpost to send emails. So you need Sparkpost API Key and also an email address which can be used to send emails with Sparkpost.
While signing up, every participant needs an invite code, which can be set to any string by admin.
These settings are to be set in della/settings/secret.py
as SPARKPOST_API_KEY
, SENDER_EMAIL
and INVITE_CODE
.
-
Clone the repo and rename/copy
della/settings/sample_secret.py
todella/settings/secret.py
and set the variables appropriately. -
Install the requirements
pip3 install -r requirements.txt
-
Setup ngnix (use
configs/nginx
) -
Setup uWSGI (use
configs/uwsgi.conf
) -
Setup supervisord (use
configs/supervisor.conf
)
Once everything is setup, CD into della directory and run following:
pip3 install -r requirements.txt
python3 manage.py migrate --settings=della.settings.production
python3 manage.py collectstatic --settings=della.settings.production --noinput
python3 manage.py createsuperuser --settings=della.settings.production
python3 manage.py makemigrations background_task --settings=della.settings.production
python3 manage.py migrate --settings=della.settings.production
systemctl start della.uwsgi.service
supervisorctl start della_background_tasks
- Add tests
- Mark/confirm gifts received (or not)
- Add commenting system for Gallery
- Allow multiple exchanges
- Ability to set preference questionnaire for exchanges
The name Della comes from O. Henry's short story The Gift of the Magi.
You will probably going to use a VPS to host Della, please consider using any of the following referral links:
Or some bitcoins: 1LAmWUmdu1r1KLQrcZ2uK6r5P7xx5gRmnW
. Thank you! 🎅
Check the logged issues with tag enhancement
. Do submit a new issue if you have any UI/UX suggestion.
The mighty MIT license. Please check LICENSE
for more details.