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
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.1
- 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
Create the dummy account types,
python manage.py insert_account_type
Run Celery (Different Terminal Window with Virtual Environment Activated)
celery -A banking_system worker -l info
celery -A banking_system beat -l info