Upload CSV transaction data, view charts & summaries, and ask AI questions about your data.
Edit backend/.env.local and replace the placeholder:
OPENAI_API_KEY=sk-proj-YOUR-ACTUAL-KEY-HERE
Get a key at: https://platform.openai.com/api-keys
docker compose up --build- Frontend: http://localhost:3000
- Backend API: http://localhost:8001/docs
- Upload a CSV file with transaction data
- View auto-detected schema, summary tables, and charts
- Ask AI questions — it answers using only your uploaded data
Your CSV needs at minimum:
| Required Column | Examples |
|---|---|
| Price/Amount | price, amount, harga |
| Quantity | qty, quantity, jumlah |
| Category OR Product | category, product_name, type |
Optional: rating, date
Category,Product_Name,Price,Quantity,Rating
Electronics,Laptop,999.99,150,4.5
Electronics,Smartphone,699.99,300,4.3
Clothing,T-Shirt,29.99,500,4.0
Food,Pizza,12.99,1000,4.6| Layer | Tech |
|---|---|
| Frontend | React, Tailwind CSS, Recharts, Framer Motion |
| Backend | FastAPI, Python, Pandas |
| AI | OpenAI GPT-4.1-mini via LangChain |
├── docker-compose.yml
├── backend/
│ ├── Dockerfile
│ ├── server.py # FastAPI app with RAG logic
│ ├── .env.local # YOUR OpenAI key goes here
│ └── requirements.docker.txt
├── frontend/
│ ├── Dockerfile
│ ├── .env.local # Backend URL config
│ └── src/
│ ├── App.js # Main React app
│ └── index.css # Dark theme styles
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/ |
Health check |
POST |
/api/upload |
Upload CSV (multipart form) |
POST |
/api/regroup |
Regroup by category/product |
POST |
/api/ask |
Ask AI a question |
docker compose downTo also remove stored data:
docker compose down -v