## 1. Interrogation & Validation

- [x] 1.1 Implement argument check for `<REPO_URL>`.
- [x] 1.2 Create `whiptail` prompts for Hostname, SSID, WiFi Password, and Country Code.
- [x] 1.3 Add validation loop for WPA2 password length (min 8 chars) and Country Code format.

## 2. System Staging

- [x] 2.1 Implement the Pre-Flight Disk Space check (`df -h`).
- [x] 2.2 Implement the progress bar for `apt update && upgrade`.
- [x] 2.3 Install dependencies: `nodejs`, `hostapd`, `dnsmasq`, `avahi-daemon`, `git`.
- [x] 2.4 Configure Hostname and WiFi Country Code in system files.
- [x] 2.5 Set up the temporary 1GB Swap file.

## 3. Networking Configuration

- [x] 3.1 Write the `hostapd.conf` template using user-provided SSID and Password.
- [x] 3.2 Configure `dnsmasq.conf` for the `192.168.4.1` range.
- [x] 3.3 Update `dhcpcd.conf` to set static IP on `wlan0`.
- [x] 3.4 Create Avahi service file for mDNS HTTP discovery (including Link-Local support).

## 4. Application Deployment

- [x] 4.1 Clone the repository to `/home/pi/mpvj`.
- [x] 4.2 Run `npm install` with concurrency limits (`--jobs 1`) and `npm run build` within the swap safety net.
- [x] 4.3 Install the `systemd` service for the backend.
- [x] 4.4 Generate the `.env` file with installation metadata.

## 5. Finalization

- [x] 5.1 Revert the swap file to default size.
- [x] 5.2 Implement the "Ultimate Summary" whiptail message box.
- [x] 5.3 Add the final reboot confirmation dialog.
