This project demonstrates the design and implementation of a Mobile Banking Application with a focus on robust database management and secure backend integration.
A simplified banking system that includes features such as user authentication, account management, secure transactions, and loan processing. The project highlights best practices in PostgreSQL database design and backend development with Django.
- User Account Management:
- View account details and balances.
- Access transaction history with filtering options.
- Transactions:
- Secure fund transfers with rollback for errors (ensuring atomicity).
- Loan Management:
- Calculate loan eligibility and apply for loans.
- Track loan repayments and view installment details.
- Security:
- Input validation and SQL injection prevention.
- Admin panel for managing accounts, loans, and user operations.
| Component | Technology |
|---|---|
| Backend | Django (with Template Rendering) |
| Database | PostgreSQL |
| Language | Python |
-
Database Design:
- Implementation of tables, stored procedures, and functions in PostgreSQL.
- All constraints and validations are handled at the database level.
-
Backend Implementation:
- Django-based backend to provide a seamless user interface.
- Secure integration with the database for banking operations.
-
Key Modules:
- Authentication: User login with hashed password storage.
- Accounts: Retrieve account details and balances.
- Transactions: Transfer funds securely and view transaction history.
- Loans: Loan eligibility, application, and repayment tracking.
Prerequisites Install PostgreSQL on your machine. Refer to the official PostgreSQL documentation for installation instructions. Run the SQL scripts provided in script.sql to set up the database schema and stored procedures:
psql -U <your_username> -d <your_database> -f script.sqlManually create a user in the users table with the necessary credentials to log in to the application.
-
Clone the repository:
git clone https://github.com/mhasanbash/Mobile-Bank-App.git
-
Navigate to the project directory:
cd Mobile-Bank-App/ -
Install dependencies:
pip install -r requirements.txt
-
Set up the database (PostgreSQL) and apply migrations:
python manage.py makemigrations python manage.py migrate
-
Run the Django server:
python manage.py runserver
-
Access the application at:
http://localhost:8000/Home
This project is licensed under the MIT License. See the LICENSE file for details.

