mirror of
https://github.com/domfelipe/fraudshield.git
synced 2026-08-07 09:16:52 +00:00
Backend (Python 3.12/FastAPI): - 5 models: Transaction, DetectionRule, FraudAlert, AuditLog, RuleSnapshot - Rule engine: 4 rule types (amount, location, time, pattern) - 11 API routes: health, auth, transactions, alerts - Sync ingestion pipeline with explanation generation - JWT auth with 3 roles (analyst, admin, senior) - Seed script with 5 default rules + 50 synthetic transactions Frontend (React 19/TypeScript/Tailwind): - Auth: login page, JWT token management, role-based routing - Alerts: queue with filters, detail panel, decision workflow - Layout: responsive sidebar, top bar, protected routes - Full TypeScript, zero ts-ignore, Tailwind CSS Build: Backend imports clean, Frontend tsc --noEmit passes, vite build produces 296KB production bundle.
28 lines
643 B
TOML
28 lines
643 B
TOML
[project]
|
|
name = "fraudshield"
|
|
version = "0.1.0"
|
|
description = "Motor de detecção de fraudes bancárias"
|
|
requires-python = ">=3.12"
|
|
dependencies = [
|
|
"fastapi[standard]>=0.115.0",
|
|
"uvicorn[standard]>=0.32.0",
|
|
"sqlalchemy[asyncio]>=2.0.36",
|
|
"asyncpg>=0.30.0",
|
|
"alembic>=1.14.0",
|
|
"pydantic-settings>=2.6.0",
|
|
"redis[hiredis]>=5.2.0",
|
|
"python-jose[cryptography]>=3.3.0",
|
|
"passlib[bcrypt]>=1.7.4",
|
|
"structlog>=24.4.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest>=8.3.0",
|
|
"pytest-asyncio>=0.24.0",
|
|
"httpx>=0.28.0",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
asyncio_mode = "auto"
|
|
testpaths = ["tests"]
|