Skip to content

A PL/SQL-based fraud monitoring system that analyzes mobile money transactions, detects suspicious activity using triggers, classifies risk levels, generates alerts in real time, and provides secure transaction oversight for customers and administrators.

Notifications You must be signed in to change notification settings

kiwizera-sudo/final_project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Safe Mobile Money Transactions & Fraud Detection System

NAMES: Kwizera Dieudonne | ID: 27623 | Group: wednesday Lecturer: Eric Maniraguha


Project Overview

A production-ready Oracle PL/SQL solution that secures mobile money transactions through real-time fraud detection, automated alerts, and strict data modification restrictions (weekdays & public holidays).

Problem Statement

Mobile money platforms across Africa suffer from increasing fraud activities such as abnormal transactions, unauthorized access, and identity misuse. Manual monitoring is slow and unreliable, resulting in financial losses and reduced customer trust. This system solves the problem by using automated PL/SQL intelligence to analyze transactions, detect high-risk activity, and alert administrators instantly.

Key Objectives

Automatically detect fraudulent mobile money transactions

Track user activities and security events

Enforce weekday and holiday DML restrictions

Generate alerts with fraud scores and risk levels

Provide a clean Oracle-based architecture ready for BI

Enhance financial safety through real-time monitoring

Key Features Implemented

  • Real-time fraud scoring based on transaction amount and patterns

  • Automatic insertion into FRAUD_DETECTION and ALERT tables

  • Compound trigger that blocks INSERT/UPDATE/DELETE on weekdays and public holidays

  • Full audit trail in AUDIT_LOG table (every blocked attempt logged)

  • Procedures, functions, package, cursors, and analytic window functions

  • Realistic Rwandan data (names, phone numbers, balances, transactions)

  • 3NF normalized schema with proper constraints and sequences

    1.Create and configure Oracle pluggable database

    2.Business Process Modeling

    Customer sends money Core System validates the request (checks balance, receiver) and creates a pending transaction Fraud Detection calculates a risk score - if score > 70, flags as suspicious Analyst Review - human reviews flagged transactions and either approves, rejects, or brokers them

    3.Logical Model Design with data dictionary and assumptions

    Assumptions

Business Rules

One user can have multiple accounts (one-to-many relationship) Each transaction belongs to one account (sender's account) Alerts and security logs are user-specific, not account-specific Holidays affect transaction processing (may cause delays or restrictions)

Data Assumptions

Currency is implied (likely single currency system - no currency field) Destination_number can be phone or account (supports mobile money transfers) Balance can be negative (no constraint shown - may allow overdrafts) Transactions are one-way records (only source account tracked, not destination account_id)

Security Assumptions

All user activities are logged in security_log for audit trail Alerts are stored historically (no deletion, for compliance) Account_status controls access (suspended/blocked users can't transact)

Technical Assumptions

Decimal(12,2) for money = supports up to 999 million with 2 decimal places Date fields store timestamps (though type shows 'date', likely datetime in practice) NN (Not Null) fields are mandatory for data integrity No soft deletes shown (records are permanent or hard-deleted)

Data Dictionary

4. Table Implementation & Data Insertion

tables where created successfully

i inserted some data

5. Database Interaction & Transactions

** functions implementated **

** procedures **

** Cursors **

** Packages **

6. Advanced Programming & Auditing

*** TRIGGERS ***

*** test results for my trigger shows that if anyone trys to make any transaction on weekdays it doesn't allow them ***

About

A PL/SQL-based fraud monitoring system that analyzes mobile money transactions, detects suspicious activity using triggers, classifies risk levels, generates alerts in real time, and provides secure transaction oversight for customers and administrators.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published