BonusDesk is a commercial project developed for "EnjoyJumping" fitness organization. A referral bonus system was implemented in the current project.
Django
web framework (version 1.11.5) and Python
programming language (version 3.6) were used to create the current project. PostgreSQL
had been used as a DBMS.
Celery + Redis
were used to execute periodic asynchronous tasks in a Django project.
The project uses several third-party packages which you can install to your virtual environment by command:
pip install -r requirements.txt
In that project we used Yandex Metrika
to measure website traffic and analyze user behavior.
System redirect user to his personal dashboard after successfull registration.
When user first log in website, he will see his referral link and small message about his payment status.
The administrator changes the status of payment after buying a subscription to the fitness room for month by that user.
After that user can see all information about accumulation in each level of referral system. django-mptt
was used to store hierarchical data. In frontend we use nestable
library to show hierarchical tree of followers.
User also can set his parent later if he did not come to the website by referral link of his friend.
The administrator of the system can see information of any user he want in dashboard page. He just need to enter username of that user to autocomplete field of next form:
More information about implementation of referral bonus system you can find in views.py file of dashboard application.