Skip to content

FinTech-Software/Online-Banking-Application-Frontend

Repository files navigation

πŸ’³ Online Banking Application – FinTech Software

An end-to-end Online Banking System that mimics real-world banking platforms like ICICI, BOI, or HDFC. This system allows users to securely sign up, authenticate, send/receive money, and visualize transaction history. It also includes an advanced Fraud Detection System to identify suspicious transactions based on historical patterns.


πŸ“š Table of Contents


πŸ”§ System Architecture

Before development, we invested several weeks designing a robust architecture covering:

  • βœ… Functional & Non-Functional Requirements
  • 🧬 High-Level Design (HLD)
  • πŸ› οΈ Low-Level Design (LLD)
  • πŸ”„ Sequence Diagrams & Flow Diagrams

πŸ“Œ Design Docs & Diagrams


πŸš€ Features

βœ… Backend (Spring Boot + RabbitMQ)

  • JWT-based secure login/signup
  • Asynchronous transaction processing via RabbitMQ
  • Endpoints for user data, transactions, and token validation
  • API weight limiting and pagination support

🎨 Frontend (Vite + React + TypeScript)

  • Fully responsive & modern UI using TailwindCSS and ShadCN
  • Signup/Login, Dashboard, Transaction History
  • Money Transfer (Send/Receive) with real-time feedback
  • Reusable components and modular code structure

πŸ” Fraud Detection

  • Machine Learning model that predicts fraud based on transaction patterns
  • REST API for integrating predictions into transaction flow
  • Built with Python + Flask and explained with Google Gemini

πŸ“‚ Project Structure

FinTech-Software/
β”‚
β”œβ”€β”€ java_backend/
β”œβ”€β”€ Online-Banking-Application-Frontend/
β”œβ”€β”€ ML-Model-For-Fraud-Detection-and-Risk-Analysis-API/

πŸ” Authentication & Security

  • Implemented full token-based security (JWT + Refresh Tokens)
  • Secure password storage using hashing
  • API protection via route-level guards
  • Session timeout and token expiry handling

🐳 Docker Setup

To ensure a consistent and collaborative development environment for all team members, we used Docker Compose to bundle our backend environment into a single unit.

🧱 Docker Images Used:

  • java_backend-backend:latest β€” Spring Boot backend
  • mysql:8 β€” Database container
  • rabbitmq:3-management β€” Queue for async transactions

🧩 Docker Compose Container:

All the above services are composed into one container named: java_backend

▢️ Run Docker Compose

docker compose up -d
  • This command will build the services and run them on the specified ports if not already available.
  • Ensures backend + MySQL + RabbitMQ services are networked and running.

πŸ“Œ Prerequisite: Docker must be installed and running on your system.


πŸ› οΈ Getting Started

Here’s how to set up each part of the application.

βœ… Backend Setup (Spring Boot + Docker)

πŸ“Œ Prerequisites: Docker must be installed

  1. Clone the backend repo:

    git clone https://github.com/FinTech-Software/java_backend.git
    cd java_backend
  2. Run Docker Compose:

    docker compose up -d

This command builds the java_backend container and spins up all services (Spring Boot, MySQL, RabbitMQ) in one go.


βœ… Frontend Setup (React + Vite + TypeScript)

πŸ“Œ Prerequisite: Node.js (v18+) installed

  1. Clone the frontend repo:

    git clone https://github.com/FinTech-Software/Online-Banking-Application-Frontend.git
    cd Online-Banking-Application-Frontend
  2. Install dependencies:

    npm install
  3. Start the development server:

    npm run dev

βœ… ML Model Setup

The fraud detection model is containerized and built with Flask. Please refer to the dedicated README for setup and usage instructions.


πŸ“¦ Tech Stack

Layer Technology Used
Backend Spring Boot, MySQL, RabbitMQ, Java
Frontend React, TypeScript, Vite, TailwindCSS
ML Model Python, Flask, Scikit-learn, Pandas
Auth/Security JWT, Refresh Tokens, BCrypt
DevOps Docker, Docker Compose, GitHub Actions

πŸ–ΌοΈ Application Screenshots

🧩 Feature πŸ“Έ Screenshot
🏠 Home Screen Home
πŸ“ Signup Signup
πŸ” Login Login
πŸ“Š Dashboard Dashboard
πŸ’Έ Send Money Send Money
πŸ“ˆ Recent Transactions Transactions
πŸ“‹ All Transactions All Txns
πŸ“‰ ML Model – Fraud Transaction Detected ML Fraud
πŸ“ˆ ML Model – Legitimate Transaction Detected ML Legit
πŸ€– AI Model – Fraud Transaction Detected AI Fraud
🧾 AI Model – Legitimate Transaction Detected AI Legit

πŸ“Š Fraud Detection System

We developed a machine learning model capable of detecting fraudulent transactions using patterns in past data.

βœ… Features:

  • Binary classification (Fraud vs Legitimate)
  • RESTful API in Flask
  • Google Gemini AI integration to explain predictions
  • Real-time integration with backend for fraud alerts

πŸ“˜ Fraud Detection README


🀝 Contributors

Name Role
Mohammed Varaliya Project Lead, Backend, Frontend, ML Model & Integration, UI/UX, System Design
Vraj Shah Project Lead, Backend Development, Docker, Frontend, UI/UX, System Design
Jayesh Mal UI/UX, Frontend

πŸ“Ž Useful Links


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •