ASHA-SAATHI is a MERN + AI powered platform designed to assist ASHA (Accredited Social Health Activist) workers by providing:
- π OCR-based medical report scanning (Tesseract.js)
- π§ AI-generated multilingual summaries via Groq AI (Hindi & English)
- π Medication suggestions & home remedies from report analysis
- π₯ Diet planning for rural patients
- π Early disease detection support
- π° Credit & payout system for ASHA workers based on reports processed
- π JWT + Firebase authentication (email/password & Google Sign-In)
- π Fully automated CI/CD using Jenkins
- π³ Dockerized frontend + backend
- React 19 + React Router v6
- Tailwind CSS v4
- Firebase (Auth β email/password & Google)
- Vite
- Node.js + Express 5
- MongoDB + Mongoose
- Firebase Admin SDK
- JWT (jsonwebtoken) + bcryptjs
- Multer (file uploads)
- Tesseract.js (OCR)
- Groq AI via OpenAI-compatible SDK
asha-saathi/
βββ client/ β React + Tailwind (Vite)
βββ server/ β Node.js + Express + AI services
β βββ api/ β Groq AI client
β βββ controllers/ β auth, upload (OCR + AI), payment
β βββ middleware/ β JWT auth middleware
β βββ models/ β User, Payment (Mongoose)
β βββ routes/ β /api/auth, /api/upload, /api/payment
βββ docker-compose.yaml
βββ Jenkinsfile β Jenkins CI/CD pipeline
git clone https://github.com/YOUR-USERNAME/asha-saathi.git
cd asha-saathicd server
npm install
npm run devServer runs on http://localhost:8000
cd client
npm install
npm run devApp runs on http://localhost:5173
Create a .env file inside the client/ directory:
VITE_BACKEND_URL=http://localhost:8000
VITE_FIREBASE_API_KEY=
VITE_FIREBASE_AUTH_DOMAIN=
VITE_FIREBASE_PROJECT_ID=
VITE_FIREBASE_STORAGE_BUCKET=
VITE_FIREBASE_MESSAGING_SENDER_ID=
VITE_FIREBASE_APP_ID=- Go to the Firebase Console and open your project.
- Navigate to Project Settings β General β Your apps β SDK setup and configuration.
- Select Config and copy the values into your
.envfile:
| Variable | Where to find it |
|---|---|
VITE_FIREBASE_API_KEY |
apiKey in the Firebase config object |
VITE_FIREBASE_AUTH_DOMAIN |
authDomain β usually <project-id>.firebaseapp.com |
VITE_FIREBASE_PROJECT_ID |
projectId |
VITE_FIREBASE_STORAGE_BUCKET |
storageBucket β usually <project-id>.appspot.com |
VITE_FIREBASE_MESSAGING_SENDER_ID |
messagingSenderId |
VITE_FIREBASE_APP_ID |
appId |
β οΈ All six Firebase variables are required. Missing values will disable Google Sign-In and email authentication.
Create a .env file inside the server/ directory:
MONGO_URL=mongodb+srv://<user>:<password>@cluster.mongodb.net/<dbname>
JWT_SECRET=your_jwt_secret_key
GROQ_KEY=your_groq_api_key
FIREBASE_PROJECT_ID=
FIREBASE_CLIENT_EMAIL=
FIREBASE_PRIVATE_KEY=| Variable | Where to find it |
|---|---|
MONGO_URL |
MongoDB Atlas β Connect β Drivers |
JWT_SECRET |
Any random secret string |
GROQ_KEY |
console.groq.com β API Keys |
FIREBASE_PROJECT_ID / CLIENT_EMAIL / PRIVATE_KEY |
Firebase Console β Project Settings β Service Accounts β Generate new private key |
# Vite only reads .env at startup β restart after changes
npm run devβ‘οΈ Live App: https://asha-delta.vercel.app/
git clone https://github.com/YOUR-USERNAME/asha-saathi.git
cd asha-saathi
# Add server/.env with your secrets (see above), then:
docker compose up --build| Service | URL |
|---|---|
| Frontend | http://localhost:3000 |
| Backend | http://localhost:8000 |
docker pull anushsingla/asha-saathi:frontend
docker run -d -p 3000:80 --name asha-frontend anushsingla/asha-saathi:frontenddocker pull anushsingla/asha-saathi:backend
docker run -d -p 8000:8000 --name asha-backend anushsingla/asha-saathi:backend| Service | URL |
|---|---|
| Frontend | http://localhost:3000 |
| Backend | http://localhost:8000 |
β Auto-build Node.js + React on push
β Automated version bumping
β Docker build & push to Docker Hub
β SSH deploy to server
β GitHub Webhook triggers
- β Star this repo
- π΄ Fork it
- π Open issues
- π Contribute β see CONTRIBUTING.md