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 β¦