How mukhtar280506/ai-bank-chatbot works
AI Bank Chatbot combines a React customer/admin interface with a FastAPI banking backend. Customers use the chat UI for beneficiary management, balance and transaction queries, and transfers; transfer validation and execution are distinct stages. The backend also supports complaint analysis and sanctions/rules ingestion for RAG-based compliance, while admins manage limits, customers, wallets, beneficiaries, and rules. The tree and README identify these capabilities, but unsampled route and agent implementations limit confidence about their internal call wiring.
Main entry points: database.py Banking database · main.py FastAPI app · App.jsx Application routes · chat.py Chat endpoints
Components 25
Web interface
- Application routes
frontend/unified-ui/src/App.jsx - Role context
frontend/unified-ui/src/auth/AuthContext.jsx - Customer chat
frontend/unified-ui/src/components/ChatWindow.jsx - Admin dashboard
frontend/unified-ui/src/pages/AdminDashboard.jsx - API client
frontend/unified-ui/src/services/api.js
API workflows
- FastAPI app
backend/app/main.py - Chat endpoints
backend/app/routes/chat.py - Transfer validation
backend/app/routes/validation.py - Beneficiary endpoints
backend/app/routes/beneficiary.py - Admin endpoints
backend/app/routes/admin.py
AI and compliance
- Chat agent
backend/app/agents/chat_agent.py - Complaint analysis
backend/app/agents/crm_sub_agent.py - Complaint classifier
backend/app/chains/complaint_chain.py - Rules ingestion
backend/app/rag/ingestion.py - Rules retrieval
backend/app/rag/retriever.py
Persistence
- Banking database
backend/app/core/database.py - Accounts
backend/app/models/account.py - Beneficiaries
backend/app/models/beneficiary_table.py - Transactions
backend/app/models/transaction.py - Transfer limits
backend/app/models/limits_table.py - CRM complaints
backend/app/models/crm_table.py
Other components
- Customer
- Admin
- OpenAI LLM
- Rules vector store
Connections 30
- Customer → Application routes: uses
- Admin → Application routes: uses
- Application routes → Role context: provides session
- Application routes → Customer chat: renders
- Application routes → Admin dashboard: renders
- Customer chat → FastAPI app: requests banking actions
- Admin dashboard → API client: requests admin actions
- API client → FastAPI app: sends API requests
- FastAPI app → Chat endpoints: mounts
- FastAPI app → Transfer validation: mounts
- FastAPI app → Beneficiary endpoints: mounts
- FastAPI app → Admin endpoints: mounts
- Chat endpoints → Chat agent: delegates chat
- Chat agent → OpenAI LLM: generates response
- Complaint analysis → Complaint classifier: classifies message
- Complaint classifier → OpenAI LLM: analyzes complaint
- Complaint analysis → CRM complaints: creates complaint
- Admin endpoints → Rules ingestion: ingests documents
- Rules ingestion → OpenAI LLM: embeds rules
- Rules ingestion → Rules vector store: upserts vectors
- Rules retrieval → Rules vector store: searches rules
- Admin endpoints → Banking database: reads and updates
- Beneficiary endpoints → Banking database: reads and writes
- Transfer validation → Banking database: validates and executes
- Chat endpoints → Banking database: uses banking data
- Banking database → Accounts: stores
- Banking database → Beneficiaries: stores
- Banking database → Transactions: stores
- Banking database → Transfer limits: stores
- Banking database → CRM complaints: stores