This is an Online Banking Concept created using Django Web Framework.
- Create Bank Account.
- Deposit & Withdraw Money
- Bank Account Type Support (e.g. Current Account, Savings Account)
- Interest calculation depending on the Bank Account type
- Transaction report with a date range filter
- See balance after every transaction in the Transaction Report
- Calculate Monthly Interest Using Celery Scheduled tasks
- More efficient and accurate interest calculation and balance update
- Ability to add Minimum and Maximum Transaction amount restriction
- Modern UI with Tailwind CSS
- Ability to make transfer to other accounts (applies to both current & savings)
- Ability for users to make contributions to their accounts e.g.: displays a summary of the user's contributions over time, including the amount contributed, the date of each contribution, and any other relevant information.
Be sure you have the following installed on your development machine:
- Python >= 3.7
- Redis Server
- Git
- pip
- Virtualenv (virtualenvwrapper is recommended)
- celery==4.4.7
- Django==3.2
- django-celery-beat==2.0.0
- python-dateutil==2.8.1
- redis==3.5.3
Run Redis server
redis-server
To setup a local development environment:
Create a virtual environment in which to install Python pip packages. With virtualenv,
virtualenv venv # create a virtualenv
source venv/bin/activate # activate the Python virtualenv
or with virtualenvwrapper,
mkvirtualenv -p python3 {{project_name}} # create and activate environment
workon {{project_name}} # reactivate existing environment
Clone GitHub Project,
git@github.com:saadmk11/banking-system.git
cd banking-system
Install development dependencies,
pip install -r requirements.txt
Migrate Database,
python manage.py migrate
Run the web application locally,
python manage.py runserver # 127.0.0.1:8000
Create Superuser,
python manage.py createsuperuser
Run Celery (Different Terminal Window with Virtual Environment Activated)
celery -A banking_system worker -l info
celery -A banking_system beat -l info