Skip to content

AnushSingla/asha-saathi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

91 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


πŸš€ ASHA-SAATHI β€” AI Health Assistant

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

πŸ› οΈ Tech Stack

Frontend

  • React 19 + React Router v6
  • Tailwind CSS v4
  • Firebase (Auth β€” email/password & Google)
  • Vite

Backend

  • Node.js + Express 5
  • MongoDB + Mongoose
  • Firebase Admin SDK
  • JWT (jsonwebtoken) + bcryptjs
  • Multer (file uploads)
  • Tesseract.js (OCR)
  • Groq AI via OpenAI-compatible SDK

DevOps


πŸ“¦ Project Structure

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

⚑ How to Run the Project


πŸ”Ή METHOD 1 β€” Clone & Run Manually (Developer Mode)

1️⃣ Fork / Clone

git clone https://github.com/YOUR-USERNAME/asha-saathi.git
cd asha-saathi

πŸ–₯️ Backend Setup

cd server
npm install
npm run dev

Server runs on http://localhost:8000

🌐 Frontend Setup

cd client
npm install
npm run dev

App runs on http://localhost:5173


πŸ”§ Environment Setup

Frontend β€” client/.env

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=

Firebase credentials

  1. Go to the Firebase Console and open your project.
  2. Navigate to Project Settings β†’ General β†’ Your apps β†’ SDK setup and configuration.
  3. Select Config and copy the values into your .env file:
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.


Backend β€” server/.env

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

Restart dev servers after updating .env

# Vite only reads .env at startup β€” restart after changes
npm run dev

➑️ Live App: https://asha-delta.vercel.app/


πŸ”Ή METHOD 2 β€” Docker Compose (Recommended)

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

πŸ”Ή METHOD 3 β€” Run Using Docker Hub (No Build Needed)

🐳 Pull & Run Frontend

docker pull anushsingla/asha-saathi:frontend
docker run -d -p 3000:80 --name asha-frontend anushsingla/asha-saathi:frontend

🐳 Pull & Run Backend

docker 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

πŸ”— CI/CD Pipeline (Jenkins)

βœ” Auto-build Node.js + React on push
βœ” Automated version bumping
βœ” Docker build & push to Docker Hub
βœ” SSH deploy to server
βœ” GitHub Webhook triggers


⭐ Support

  • ⭐ Star this repo
  • 🍴 Fork it
  • πŸ› Open issues
  • πŸš€ Contribute β€” see CONTRIBUTING.md

About

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages