An AI-powered eKYC (Electronic Know Your Customer) chatbot system for Laos, featuring document verification and identity authentication capabilities.
- Framework: FastAPI
- Language: Python 3.9+
- Key Libraries: uvicorn, httpx, websockets, pydantic
- Framework: Next.js 16
- Language: TypeScript
- UI Libraries: Radix UI, TailwindCSS, Lucide React
Laos_Agent/
├── backend/ # FastAPI backend server
│ ├── app/ # Main application code
│ ├── api/ # API routes
│ ├── config/ # Configuration files
│ ├── models/ # Data models
│ ├── services/ # Business logic services
│ └── utils/ # Utility functions
└── frontend/ # Next.js frontend application
├── app/ # Next.js app router pages
├── components/ # React components
├── hooks/ # Custom React hooks
└── lib/ # Utility libraries
- Python 3.9+
- Node.js 18+
- npm or pnpm
-
Navigate to the backend directory:
cd backend -
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Copy the environment file and configure:
cp .env.example .env
-
Update
.envwith your API keys and configuration. -
Start the backend server:
uvicorn app.main:app --reload --host 0.0.0.0 --port 3724
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open http://localhost:3000 in your browser.
See backend/.env.example for required environment variables:
| Variable | Description |
|---|---|
API_KEY |
OpenRouter API key for AI services |
API_URL |
AI API endpoint URL |
MODEL |
AI model to use |
OCR_UPLOAD_URL |
OCR service upload endpoint |
OCR_SCAN_URL |
OCR service scan endpoint |
OCR_WEBSOCKET_URL |
OCR WebSocket verification endpoint |
SECRET_KEY |
Application secret key |
This project is proprietary software.