Queue count and registration for clinics in Botswana
# clinQ 🏥 :
clinq-10w0.onrender.com
**Real-Time clinQ Tracker — Botswana Government Clinics**
---
## What it does
**Patient side:** Select a government clinic → select a department → see how many people are in the queue right now. Press Refresh to update.
**Nurse side:** Log in → select your department → register arriving patients (full name, DOB, Omang, clinic card, condition) → mark patients as seen to reduce the queue count.
---
## How to run it
### Step 1 — Make sure you have Node.js installed
```
node --version
```
If you get a version number, you're good. If not, download Node.js from nodejs.org
### Step 2 — Install the packages
Open a terminal in the `clinQ` folder and run:
```
npm install
```
This installs Express, SQLite, and the session package.
### Step 3 — Start the server
```
node server.js
```
You should see:
```
✅ clinQ is running!
🌐 Open:
localhost
```
### Step 4 — Open your browser
- **Patient view:**
localhost
- **Nurse login:**
localhost
---
## Test nurse accounts
| Username | Password | Clinic |
|---|---|---|
| nurse_broadhurst | pass123 | Broadhurst Clinic |
| nurse_bontleng | pass123 | Bontleng Clinic |
| nurse_oldnaledi | pass123 | Old Naledi Clinic |
| nurse_gabwest | pass123 | Gaborone West Clinic |
| nurse_ext2 | pass123 | Extension 2 Clinic |
| nurse_mogoditshane | pass123 | Mogoditshane Primary Hospital |
| nurse_tlokweng | pass123 | Tlokweng Primary Hospital |
| nurse_mochudi | pass123 | Mochudi Primary Hospital |
---
## Tech stack
- **Frontend:** HTML, CSS, Vanilla JavaScript
- **Backend:** Node.js + Express.js
- **Database:** SQLite (via better-sqlite3)
---
## Project structure
```
clinQ/
├── server.js ← entire backend (read this first)
├── clinQ.db ← SQLite database (created on first run)
├── package.json
└── public/
├── style.css ← all styling
├── index.html ← clinics list (patient side)
├── departments.html ← depar …