Skip to content

About

Java banking web app with secure transactions, PostgreSQL and Docker.

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

54 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

SkyBanking Hero

๐ŸŒŒ SkyBanking: Enterprise-Grade Financial Ecosystem

Secure | Scalable | Seamless

Java PostgreSQL Stripe Maven


๐Ÿ›๏ธ Project Overview

SkyBanking is a secure and scalable banking web application built using a modern Java-based backend with PostgreSQL database support. It provides digital banking features such as user registration, login, account management, deposits, withdrawals, peer-to-peer transfers, QR-based payments, PDF reports, and administrator-level monitoring.

The system focuses on clean architecture, secure transaction handling, role-based access, database consistency, and production-ready deployment.


๐Ÿ“Š System Architecture & Flow

SkyBanking System Flowchart

๐Ÿš€ Core Features

๐Ÿ’Ž User Features

  • Secure user registration and login
  • OTP-based verification flow
  • Account balance management
  • Deposit and withdrawal support
  • Peer-to-peer money transfer
  • QR code-based payment system
  • Transaction history tracking
  • PDF account statements and invoices
  • Profile and account information management

๐Ÿ›ก๏ธ Admin Features

  • Admin login and secure dashboard
  • User account monitoring
  • Transaction activity overview
  • OTP and security audit tracking
  • Banking configuration management
  • Tax, limit, and interest-related controls
  • User lifecycle management

๐Ÿ› ๏ธ Tech Stack

Layer Technology
Backend Java 21, Servlets, JSP
Database PostgreSQL
Build Tool Maven
Payment Gateway Stripe
Security BCrypt, OTP, Session Handling
Reports PDF Generation
Deployment Apache Tomcat / Render
Version Control Git & GitHub

๐Ÿ“ Project Structure

src/main/java/com/skybanking/
โ”œโ”€โ”€ model/        # Data models and entity classes
โ”œโ”€โ”€ util/         # Utility services, validation, PDF, tax, security
โ”œโ”€โ”€ web/          # User-side servlet controllers
โ””โ”€โ”€ admin/        # Admin-side servlet controllers

๐Ÿ› ๏ธ Installation & Rapid Deployment

1. Clone the Repository

git clone <your-repository-url>
cd SkyBanking

2. Database Initialization

Create the database:

CREATE DATABASE skybank;

Import the PostgreSQL schema:

psql -U postgres -d skybank -f database/skybanking_schema_pg.sql

3. Environment Configuration

Create a .env file in the root directory using .env.example as reference.

DB_URL=jdbc:postgresql://localhost:5432/skybank
DB_USER=postgres
DB_PASSWORD=your_secure_password

STRIPE_SECRET_KEY=sk_test_your_key_here
SMTP_PASSWORD=your_app_password

Never commit the .env file to GitHub.


4. Build the Project

mvn clean package

5. Deploy on Tomcat

Copy the generated WAR file:

target/BankingWebApp.war

Paste it inside the Tomcat webapps directory.

Start Tomcat:

bin/startup.bat

๐ŸŒ Application URLs

Local Deployment

User Portal:
http://localhost:9090/BankingWebApp/

Admin Portal:
http://localhost:9090/BankingWebApp/admin/

Live Deployment

User Login:
https://skybanking.onrender.com/login

Admin Login:
https://skybanking.onrender.com/admin/login

๐Ÿ—„๏ธ Database Hosting Note

If the database is hosted on Supabase and it gets paused due to inactivity, start it manually from the Supabase dashboard:

https://supabase.com/dashboard/project/

๐Ÿ” Security Hardening

SkyBanking follows essential security practices required for public deployment:

  • Passwords stored using BCrypt hashing
  • Sensitive credentials loaded from environment variables
  • No hardcoded database passwords or secret keys
  • Secure session-based authentication
  • Input validation on critical forms
  • SQL injection protection using prepared statements
  • Transaction safety using ACID-compliant database operations
  • Safe payment verification using Stripe integration
  • Audit logs for important system activities

๐Ÿ”ฎ Future Roadmap

  • Android and iOS mobile application
  • Multi-currency banking support
  • AI-powered fraud detection
  • Docker-based deployment
  • Kubernetes scaling support
  • Advanced analytics dashboard
  • Email and SMS alert system

๐Ÿ‘จโ€๐Ÿ’ป Developer

Developed with โค๏ธ by the SkyBanking Team

About

Java banking web app with secure transactions, PostgreSQL and Docker.

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages