Files
Minidu Thiranjaya 47f11bc396 agent files
2026-02-10 20:44:10 +05:30

53 lines
3.0 KiB
Markdown

I am working on a full-stack MERN (MongoDB, Express, React, Node.js) web application for tracking vaccination schedules. We are a team of 4, and I need you to act as our Lead Developer.
Here is the full context of the project. Please memorize this architecture and constraints before answering my request.
### **1. Project Overview**
* **Name:** "Vax-Track" (Vaccination Management System).
* **Users:** Admins (Government), Hospital Staff, and Public Citizens (Parents/Guardians).
* **Core Feature:** A "Family/Dependent" architecture where one registered User (Parent) can manage vaccination records and appointments for multiple Dependents (Children/Elders).
### **2. Tech Stack & Architecture**
* **Backend:** Node.js with Express.js.
* **Database:** MongoDB (NoSQL) using Mongoose ODM.
* **Auth:** JWT (JSON Web Tokens) with role-based middleware (Admin, Staff, User).
* **Architecture:** Monolithic Repo but with "Microservice-style" modular folders. Each module has its own Controllers, Routes, and Models.
### **3. Team Roles & Responsibilities (STRICT SEPARATION)**
We must keep our code contributions distinct to get individual marks. Do not mix these responsibilities when generating code.
* **Minidu (Inventory & Family Identity):**
* **Features:** User Auth, Adding Dependents (Child/Spouse), Managing Vaccine Brands, Managing Stock Batches.
* **3rd Party API:** Cloudinary (for uploading vaccine vial images).
* **Key Models:** `User`, `Dependent`, `Vaccine`, `Batch`.
* **Nethmi (Locations & Scheduling):**
* **Features:** Registering Hospitals, Creating Clinic Dates/Events, Managing Capacity.
* **3rd Party API:** LocationIQ or Mapbox (converts address strings to Lat/Long coordinates).
* **Key Models:** `Hospital`, `Clinic`.
* **Saniru (Appointments & Queue):**
* **Features:** Booking Appointments (checking quota), Canceling, Viewing Schedule.
* **Logic:** Must handle booking for "Self" OR "Dependent".
* **3rd Party API:** goqr.me API (generates QR code for appointment pass).
* **Key Models:** `Appointment`.
* **Kaveen (Records & Notifications):**
* **Features:** Marking patients as "Vaccinated" (Doctor view), Digital Vaccination Card, Email Alerts.
* **3rd Party API:** SendGrid or Nodemailer (sends confirmation emails).
* **Key Models:** `Record`, `SideEffect`.
### **4. Database Relationships (The Logic)**
* **Users** have 0 or more **Dependents**.
* **Appointments** link to a `Clinic` and a `User`. They optionally link to a `Dependent`.
* *Logic:* If `dependentId` is null, it's for the User. If set, it's for the child.
* **Records** link to a specific `Batch` (for tracking) and a specific `Patient` (User or Dependent).
### **5. Current Goal**
* We are working on **Milestone 1 (Backend Focus)**.
* We need RESTful APIs that return JSON.
* All endpoints must handle errors gracefully (400, 404, 500).
---
**MY REQUEST:** [TYPE YOUR QUESTION HERE - e.g., "Create the Mongoose schema for Minidu's Vaccine module" or "Write the Controller logic for Saniru's appointment booking"]