An Integrated Retail Intelligence System that connects Kirana stores, wholesalers, and logistics providers using AI and WhatsApp-like interfaces.
Video Demo - https://drive.google.com/file/d/1eCX6ZNYm6yAG4zWa83MaFXX8ElARqzm1/view?usp=sharing
┌─────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ Frontend │ │ Backend │ │ Database │
│ (Streamlit) │◄──►│ (Node.js/Express)│◄──►│ (PostgreSQL) │
│ │ │ │ │ │
│ • Chat Interface│ │ • RESTful API │ │ • Products │
│ • NLP Processing│ │ • Auth System │ │ • Orders │
│ • AI Insights │ │ • Inventory Mgmt │ │ • Users │
└─────────────────┘ │ • Order Tracking │ │ • Credit Data │
│ • Credit Scoring │ └──────────────────┘
└──────────────────┘
# Clone the repository
git clone <repository-url>
cd bharatai
# Build and start all services
docker-compose up --build
# Access the application:
# Frontend: http://localhost:8501
# Backend API: http://localhost:3001cp .env.example .env
cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.envRequired variables:
- Backend (
backend/.env):PORTNODE_ENVDATABASE_URL(PostgreSQL connection string)JWT_SECRET
- Frontend (
frontend/.env):BACKEND_URL(e.g., http://localhost:3001/api or http://backend:3001/api when using Docker)
- Root (optional, for monitoring):
BACKEND_URL,FRONTEND_URL
# Start backend
cd backend
npm install
npm start
# Start frontend (in another terminal)
cd frontend
pip install -r requirements.txt
python -m spacy download en_core_web_sm
streamlit run app.pybharatai/
├── backend/ # Node.js/Express API
│ ├── controllers/ # Request handlers
│ ├── models/ # Database models
│ ├── routes/ # API routes
│ └── config/ # Configuration files
├── frontend/ # Streamlit frontend
│ ├── ai/ # AI services
│ ├── models/ # Data models
│ └── ui/ # UI components
├── docker-compose.yml # Docker orchestration
├── DEPLOYMENT_GUIDE.md # Deployment instructions
├── RUNNING.md # Instructions for running the system
├── test_system.py # System testing script
└── tasks.md # Project task tracking
POST /api/auth/register- Register new userPOST /api/auth/login- User loginGET /api/auth/profile- Get user profile
GET /api/inventory/products- Get all productsGET /api/inventory/products/:id- Get product by IDPOST /api/inventory/products- Add new productPUT /api/inventory/products/:id- Update productDELETE /api/inventory/products/:id- Delete productPOST /api/inventory/products/:id/add-stock- Add stockPOST /api/inventory/products/:id/deduct-stock- Deduct stockGET /api/inventory/products/:id/stock-level- Get stock level
Run the monitoring script:
node monitoring.js --continuous --interval 30- Aditya Garud - Initial work - yashranaway
- Built with Node.js, Express, PostgreSQL, Python, Streamlit, and spaCy
- Inspired by the need to modernize Kirana store operations in India