oia-adp / README.md
AI-Powered Anomaly & Fraud Detection System
Invoices Anomaly & Fraud Detection System for OIA
AI-Powered Anomaly & Fraud Detection System
Overview
Problem Statement
Oman Investment Authority (OIA) currently faces challenges in ensuring the accuracy, efficiency and security of its Account Payable process. Manual and rule-based approaches to identify anomalies and fraudulent activities are time-consuming, error-prone and reactive in nature. These limitations increase the risk financial leakage, non compliance with internal policies and Delegation of Authority, and potential reputational damage due to undetected fraud or irregularities.
Supporting Documents
Getting Started
Prerequisites
Project setup
Clone the repository
git clone https://github.com/rihal-om/oia-adp.git
cd oia-adp
Running the app locally
- Run docker-compose to start the application
docker compose up
# or
make run
- Populate the database with sample data (for development/testing)
make populate
This will seed the database with dummy data including:
- Admin users (3) -
admin1@rihal.om,admin2@rihal.om,admin3@rihal.om - Requester/User accounts (3) -
user1@rihal.om,user2@rihal.om,user3@rihal.om - Viewer accounts (2) -
viewer1@rihal.om,viewer2@rihal.om - Sample invoices (15) with varied amounts and statuses
- Rules for anomaly detection (10) covering various business scenarios
- Requests with various statuses (15): Analyzing, Releasing, Pending, Approved, Rejected
- Anomalies (8) for testing anomaly detection workflows
- Approval workflows (10) with different approval levels and statuses
Test User Credentials: The seeded users can be used for testing different workflows:
- Admin users have full system access
- Requester/User accounts can create requests and approve invoices
- Viewer accounts have read-only access
Note: You can run make populate anytime to reset and repopulate the database with fresh test data. This is especially useful after running docker compose down -v which removes all database volumes.
- Once the application is running, open your browser and navigate to:
# Frontend
http://localhost:3000
# Backend
http://localhost:1323
Tech Stack
| Category | Tool | Description |
|---|---|---|
| Frontend | React, React Router | Frontend library and routing system |
| Backend | Golang, Echo | Backend language and web framework |
| Authentication | Keycloak | Identity and access management system |
| Database | PostgreSQL | Relational database system |
| Containerization | Docker | Containerization and image management |
| Orchestration | Temporal.io | Workflow orchestration and state management |
| CI/CD | GitHub Actions | Continuous integration and deployment tool |
Project Team
| Name | Role | GitHub |
|---|---|---|
| Vineeth Kumar | Project Manager | - |
| Iman Al-Wahaibi | UX/UI Designer | - |
| Haitham Al-Khamiasi | Lead Frontend Developer | @HaithamLeo |
| Mohammed Bait Othman | Frontend Developer | @moham1233 |
| Yahya Al-Saidi | Lead Backend Developer | @yahyaAlsaidi |
| Al-Qassim Al-Zakwani | Backend Developer | @qzakwani |
| Hilal Al-Manji | Backend Developer | @s3rversix |
| Abdulmalik Al-Ghazi | Machine Learning Engineer | @abdulmalik29 |