Oracle + ML expense platform

AURIXAIntelligent Digital Expense Governance

An intelligent expense governance platform tracking multi-currency subscriptions with AI-powered anomaly detection and a FastAPI / Oracle 21c backend.

~/aurixa/architecture4 layers
  1. 04scikit-learn ML Engine
  2. 03Auth & Security Layer
  3. 02Python FastAPI Backend
  4. 01Oracle Database Layer
DB Tables
29
Indexes
55+
API Routers
8
Currencies
4

01 / The Problem

AURIXA tracks scattered SaaS subscriptions, forecasts renewals, and uses scikit-learn anomaly detection to alert users to unusual spending, backed by normalized Oracle database schemas.

02 / Key Features

  • Subscription & Billing Tracking

    Full CRUD for subscriptions across 10 expense categories, with automated billing-cycle and price-history tracking via database triggers.

  • AI Anomaly Detection — RiskRadar

    Every transaction is evaluated by a per-user Isolation Forest model to flag unusual spending, tuned to a 2% contamination rate to avoid false positives.

  • AI Recommendations Engine

    Personalized suggestions to cancel unused subscriptions, consolidate redundant services, or downgrade billing plans — with accept/dismiss actions and feedback loop.

  • Multi-Currency Support

    Tracks spending across PKR, USD, EUR, and GBP with automatic conversion to the user's base currency throughout all analytics and reporting.

  • Analytics Dashboard

    Spending patterns, category breakdowns, trend analysis, budget forecasts, and a financial health score — served from pre-computed materialized views for performance.

  • Full Audit Trail

    Every INSERT, UPDATE, and DELETE on critical tables is captured at the trigger level — independent of the application layer — for compliance and debugging.

03 / System Architecture

  1. Oracle Database Layer

    29 fully normalized tables, 3 materialized views, 26 sequences, 5 triggers, and 55 indexes running on Oracle 21c XE. PL/SQL packages and Oracle Scheduler jobs handle business logic and periodic tasks entirely inside the database engine — keeping the application layer thin.

  2. Python FastAPI Backend

    A modular REST API with 8 dedicated routers: auth, users, subscriptions, analytics, alerts, recommendations, wallet, and audit. Connects to Oracle via python-oracledb in thin mode — no Oracle Client installation required on the host machine.

  3. Auth & Security Layer

    JWT bearer token authentication with 15-minute access tokens and 7-day refresh tokens, stored hashed at rest with bcrypt. All protected endpoints require a valid access token — only registration and login are public routes.

  4. scikit-learn ML Engine

    The RiskRadar system trains a per-user Isolation Forest model on transaction history and evaluates every new transaction for anomalies at the time of insertion. Models are persisted and retrained on a rolling window to stay accurate as spending patterns evolve.

04 / Tech Stack

  • Oracle Database 21c XE
  • PL/SQL & Triggers
  • Python 3.11
  • FastAPI
  • python-oracledb
  • scikit-learn
  • Isolation Forest (ML)
  • PyJWT & bcrypt
  • Pydantic v2
  • Uvicorn
  • pytest

Explore the Full Codebase

The full source — schema DDL, PL/SQL packages, FastAPI routes, ML engine, and test suite — is available on GitHub.