The Electronic Vaccination Record System is a full-stack web application designed to manage vaccination records and assess vaccination risks for citizens in Sri Lanka. The system supports five user roles: Citizen, Admin, Healthcare Provider, Hospital, and MOH (Ministry of Health). It integrates a machine learning model to predict vaccination adherence risks and provides actionable recommendations.
client/: Next.js frontend with React.server/: Node.js/Express backend.risk-scorer-ml/: FastAPI backend for machine learning risk scoring.
- Node.js and npm
- Python
- MongoDB
Clone the repository to your machine:
git clone https://github.com/IshanArdithya/EVRS.git
cd evrs
- Navigate to the
clientdirectory:
cd client
- Install dependencies:
npm install
- Create a
.env.localfile with:
NEXT_PUBLIC_API_BASE_URL=
- Run the development server:
npm run dev
- Navigate to the
serverdirectory:
cd server
- Install dependencies:
npm install
- Create a
.envfile with:
PORT=
MONGO_URI=
JWT_SECRET=
SMTP_HOST=
SMTP_PORT=
SMTP_SECURE=
SMTP_USER=
SMTP_PASS=
TWILIO_ACCOUNT_SID=
TWILIO_AUTH_TOKEN=
TWILIO_WHATSAPP_FROM=
FAST_API_URL=
FRONTEND_URL=
- Run the backend server:
npm run dev
- Navigate to the
risk-scorer-mldirectory:
cd risk-scorer-ml
- Create and activate a virtual environment:
python -m venv venv
.\venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Create a
.envfile with:
MODEL_PATH=./evrs_miss_next_model.pkl
SCHEMA_PATH=./evrs_feature_schema.json
HORIZON_DAYS=
HIGH_THR=
MED_THR=
- Run the FastAPI server:
uvicorn app:app --reload