A secure banking web application designed to demonstrate secure programming practices, including account management, user authentication, secure coding, error handling, and database integration. The project combines both front-end and back-end technologies to simulate core banking functionalities in a secure, working environment.
- Java – backend processing
- Node.js – backend server logic (v20.4.0)
- Express.js – routing and server management
- MySQL – relational database system
- HTML/CSS/JavaScript/BootStrap – frontend interface
- bcryptjs – password hashing
- Git & GitHub – version control
- Live Server – local development & testing
- Operating System: Windows 11
- Processor: Intel Core i5-1135G7 @ 2.40GHz
- Installed RAM: 16GB
- System Type: 64-bit operating system, x64-based processor
- Java Version: Java 17 or higher
- Node.js Version: v20.4.0
- MySQL Server
The following npm commands were used during project setup:
npm init
npm install express mysql2 bcryptjs body-parser{
"name": "secure-banking-system",
"version": "1.0.0",
"description": "A secure banking web application using Node.js and MySQL.",
"main": "server.js",
"scripts": {
"start": "node server.js"
},
"dependencies": {
"bcryptjs": "^2.4.3",
"express": "^4.18.2",
"mysql2": "^3.6.0"
},
"author": "Use Your Name",
"license": "ISC"
}git clone https://github.com/michelleog2351/Secure-Bank-Application.gitcd secure-banking-systemnpm install mysql2net start mysqlnode server.jsBank System Server listening on port 3000...
Successfully connected to MySQL database bank_system-
User Authentication
-
Password hashing using bcryptjs
-
Input validation and sanitisation
-
Proper error handling and logging
When a user registers, the system captures their details securely and inserts them into the MySQL database. Example in json:
{
"first_name": "Shells",
"last_name": "Stewarts",
"email": "shelly@atu.ie",
"phone_no": "+353 657 7652",
"username": "shell.stews",
"password": "Happys*1187",
"balance": 0
}- Manual testing of login and registration flows
- Unit Testing
- Student No: L00176523
- Name: Michelle Ogunade
- Module: Secure Programming