diff --git a/sk1/README.md b/sk1/README.md
index 9b82379..03fb051 100644
--- a/sk1/README.md
+++ b/sk1/README.md
@@ -1,155 +1,227 @@
-# π οΈ Task Manager β Cloud Deployment (SK1)
+
-
-
-
-
-
-
-
+# π οΈ TASK MANAGER β CLOUD SYSTEM DEPLOYMENT
+### βοΈ Course: Cloud Technologies & Web Application Deployment
+
+[](https://taskmanager-gs699he.swedencentral.cloudapp.azure.com)
+[](#-container-services-registry)
+[](#-security-hardening-matrix)
---
+### π Academic & System Metadata
+| Student Identity | Platform Credentials | Academic Institution |
+| :--- | :--- | :--- |
+| **Name:** Gopikanta Shill
**Login:** `gs699he`
**Date:** May 19, 2026 | **Cloud:** Microsoft Azure (Azure for Students)
**Region:** `swedencentral`
**Instance Type:** `Standard_B2ts_v2` | **University:** Technical University of KoΕ‘ice
**Department:** KEMT FEI
**Repository:** [zkt25](https://git.kemt.fei.tuke.sk/gs699he/zkt25) & [zkt26](https://git.kemt.fei.tuke.sk/gs699he/zkt26) |
+
+---
+
+
+
## π Application Description
-The **Task Manager** is a premium, full-stack web application designed for personal productivity. It features:
-* β¨ **Apple-inspired UI:** Sleek glassmorphism style with light/dark adaptive layout.
-* π **High-Speed API:** Powered by Node.js/Express with database connection pooling.
+The **Task Manager** is an enterprise-grade, high-performance web application designed for personal productivity. It features:
+* β¨ **Apple-inspired UI:** Sleek glassmorphism style with light/dark adaptive layout and micro-animations.
+* π **High-Speed API:** Powered by Node.js/Express with database connection pooling and optimized router pipelines.
* β‘ **Redis Caching:** Transparent query caching (30s TTL) with instant write invalidation.
* π **Automated Security:** Automatic HTTPS certificate management and VM hardening out of the box.
---
-## βοΈ Cloud & Architecture Description
-The architecture is deployed to **Microsoft Azure** using an **Azure for Students** subscription and runs entirely inside an isolated container network.
+## ποΈ Visual Topology & Network Architecture
-### ποΈ Visual Topology
+The architecture is deployed to **Microsoft Azure** using an **Azure for Students** subscription and runs entirely inside an isolated, double-network container segment.
+### πΌοΈ Topology Layout Diagram
-### π¦ Container Registry & Services
+### π Physical Network & Container Segmentation
+```mermaid
+graph TD
+ subgraph Public Internet [π Public Access Channel]
+ Client([π€ End User Browser])
+ end
-| Badge | Service | Port | Description / Purpose |
-| :--- | :--- | :---: | :--- |
-|  | **Caddy** | `443`, `80` | Entry point. Handles SSL negotiation via ACME (Let's Encrypt) and reverse proxies traffic to Nginx. |
-|  | **Frontend** | `80` | High-performance Nginx server serving the static single-page app and proxying API endpoints. |
-|  | **Express API** | `3000` | Core backend container managing authentication, CRUD tasks, Redis interactions, and PostgreSQL queries. |
-|  | **Database** | `5432` | Relational storage using **PostgreSQL 16**. Mounted to a persistent host volume. |
-|  | **Cache** | `6379` | In-memory cache using **Redis 7** for ultra-fast response times on read queries. |
+ subgraph Azure VM Network Boundary [βοΈ Azure virtual network VM]
+ subgraph frontend-net [π frontend-net subnet]
+ Caddy[π Caddy HTTPS Reverse Proxy]
+ Nginx[β‘ Nginx Static Content Server]
+ Node[π Node.js Express API]
+ end
-### π Network Segmentation
-* π **`frontend-net`:** Public-facing network segment including Caddy, Nginx, and Node.js.
-* π **`backend-net`:** Completely isolated private network segment enclosing Node.js, PostgreSQL, and Redis. **No direct internet access** is allowed into PostgreSQL or Redis.
+ subgraph backend-net [π backend-net Isolated Internal Network]
+ PostgreSQL[(ποΈ PostgreSQL 16 DB)]
+ Redis[(β‘ Redis Cache)]
+ end
+ end
+
+ Client -- "HTTPS (443)" --> Caddy
+ Caddy -- "HTTP (80)" --> Nginx
+ Nginx -- "Proxy API Requests" --> Node
+ Node -- "Query / Write" --> PostgreSQL
+ Node -- "Get / Cache" --> Redis
+
+ %% Styling
+ style Client fill:#eceff1,stroke:#37474f,stroke-width:2px,color:#333
+ style Caddy fill:#00A2C9,stroke:#fff,stroke-width:2px,color:#fff
+ style Nginx fill:#009639,stroke:#fff,stroke-width:2px,color:#fff
+ style Node fill:#339933,stroke:#fff,stroke-width:2px,color:#fff
+ style PostgreSQL fill:#4169E1,stroke:#fff,stroke-width:2px,color:#fff
+ style Redis fill:#DC382D,stroke:#fff,stroke-width:2px,color:#fff
+ style frontend-net fill:#e3f2fd,stroke:#1e88e5,stroke-width:2px,stroke-dasharray: 5 5
+ style backend-net fill:#ffebee,stroke:#e53935,stroke-width:2px,stroke-dasharray: 5 5
+```
---
-## π Quick Deploy & Usage
+### π¦ Container Services Registry
+
+| Service | Port Configuration | Technology Badge | Primary Architectural Role |
+| :--- | :---: | :--- | :--- |
+| **Caddy Proxy** | `443` (HTTPS)
`80` (HTTP) |  | **SSL/TLS Entrypoint.** Negotiates modern TLS 1.3 via Let's Encrypt and forwards clean traffic to Nginx. |
+| **Frontend Nginx** | `80` (Internal) |  | **Web Server.** Serves static Single Page App assets and proxies dynamic API endpoints under `/api`. |
+| **Backend API** | `3000` (Internal) |  | **Express Core.** Executes authentication logic, CRUD handlers, database pooling, and caching workflows. |
+| **PostgreSQL DB** | `5432` (Internal) |  | **Persistence Engine.** Implements relational storage using **PostgreSQL 16**. Data is persistent via host volumes. |
+| **Redis Cache** | `6379` (Internal) |  | **Caching Layer.** Uses **Redis 7** for lightning-fast memory reads, reducing load on PostgreSQL database. |
+
+---
+
+### β‘ Caching Sequence & Read-Write Lifecycle
+To optimize database throughput, the Node.js API implements an automated **Cache-Aside Caching Strategy**:
+
+```mermaid
+sequenceDiagram
+ autonumber
+ actor User as π€ User Browser
+ participant API as π Express API
+ participant Redis as β‘ Redis Cache
+ participant DB as ποΈ PostgreSQL DB
+
+ Note over User, Redis: READ PATH (GET /api/tasks)
+ User->>API: Request Tasks
+ API->>Redis: Check key "tasks"
+ alt Cache Hit (Fast Path)
+ Redis-->>API: Return tasks JSON (1ms)
+ API-->>User: Deliver Tasks (Instant)
+ else Cache Miss (Slow Path)
+ Redis-->>API: Null
+ API->>DB: Query Tasks Table (50ms)
+ DB-->>API: Return task records
+ API->>Redis: Save tasks JSON (TTL 30s)
+ API-->>User: Deliver Tasks
+ end
+
+ Note over User, DB: WRITE PATH (POST /api/tasks)
+ User->>API: Create New Task
+ API->>DB: Insert task record
+ DB-->>API: Success
+ API->>Redis: Invalidate "tasks" key (DEL)
+ API-->>User: Success (Cache Cleaned)
+```
+
+---
+
+## π Deployment & Decommissioning
> [!IMPORTANT]
-> Ensure you have the **Azure CLI** installed and are logged in (`az login`) with a valid subscription before executing deployment scripts.
+> Ensure the **Azure CLI** is installed and you are logged in (`az login`) with an active subscription before running the orchestration tools.
-### π οΈ One-Command Deployment
+### π οΈ One-Command Provisioning
```bash
# 1. Clone the repository
git clone git@git.kemt.fei.tuke.sk:gs699he/zkt26.git
cd zkt26/sk1
-# 2. Setup your private configurations
+# 2. Setup your secure environment credentials
cp env.example .env
nano .env # Input a strong POSTGRES_PASSWORD
-# 3. Deploy everything in under 3 minutes
+# 3. Provision all cloud infrastructure and launch app
./prepare-app.sh
```
---
-## πΎ Maintenance & Administration
+## βοΈ Administration & Orchestration Panel
-### ποΈ Database Backup
-You can easily back up your production database from your local terminal with one command:
-```bash
-./backup-db.sh
-```
-*How it works:* The script opens a secure SSH tunnel to the Azure VM, triggers `pg_dump` directly inside the container, pipes the binary stream back over SSH, and saves the `.sql` dump directly inside your local `backups/` folder.
+Our custom orchestration scripts provide total CLI control over the production environment without ever needing the Azure Web UI:
-### π Real-time Monitoring & Logs
-Retrieve access sheets, web logs, and application logs securely:
-```bash
-./view-logs.sh --caddy # Read HTTPS entry/access logs
-./view-logs.sh --api # Monitor Backend API requests in real-time
-```
+| Script Name | Icon / Badge | CLI Command | Functional Description & Security Integration |
+| :--- | :---: | :--- | :--- |
+| **Provisioner** | `prepare-app` | `./prepare-app.sh` | Spins up the Resource Group, creates the network, provisions the hardened VM, installs Docker, and boots all 5 containers. |
+| **Backup Manager**| `backup-db` | `./backup-db.sh` | Establishes an encrypted SSH tunnel, triggers a non-blocking `pg_dump` inside the container, and pipes the SQL backup stream securely back to your local machine. |
+| **Log Terminal** | `view-logs` | `./view-logs.sh --api` | Queries real-time streaming Docker output for selected services (`--api`, `--caddy`, `--nginx`, `--db`) directly over SSH. |
+| **Decommissioner**| `remove-app` | `./remove-app.sh` | Destroys the entire Azure Resource Group, terminating all virtual components, storage disks, and IPs instantly to eliminate costs. |
-### ποΈ Complete Decommissioning
-Tear down the deployment and completely avoid any ongoing Azure subscription costs:
-```bash
-./remove-app.sh
-```
-*Action:* Automatically deletes the entire Azure Resource Group, eliminating the VM, Disks, Public IPs, and Firewalls instantly.
-
----
-
-## π Repository Directory Structure
+
+π View Hardened Repository Tree (Click to Expand)
```text
sk1/
-βββ api/ # Express Backend API & DB connection pool
-βββ frontend/ # Single-Page Web Frontend (Nginx, HTML/CSS/JS)
-βββ caddy/ # Caddy configuration (Let's Encrypt TLS setup)
-βββ db/ # Database schema seeding files
-βββ docs/ # TeX documentation and static assets
-β βββ architecture.png # Visual architecture diagram
-β βββ documentation.tex # Main exam document source
-βββ prepare-app.sh # Deployment orchestration shell script
-βββ remove-app.sh # Resource cleanup script
-βββ backup-db.sh # Secure DB snapshot utility
-βββ view-logs.sh # Remote secure logging client
+βββ api/ # Express Backend API & DB connection pool
+β βββ src/ # Source files (server, database configurations)
+β βββ package.json # Node dependencies list
+βββ frontend/ # Single-Page Web Frontend
+β βββ index.html # Sleek client UI entry point
+β βββ index.css # Glassmorphic custom CSS styling
+β βββ nginx.conf # Local Nginx routing setup
+βββ caddy/ # Caddy configuration
+β βββ Caddyfile # Let's Encrypt TLS setup & reverse-proxy mapping
+βββ db/ # Database schemas
+β βββ init.sql # Seeding script for Task Database
+βββ docs/ # TeX documentation and static assets
+β βββ architecture.png # Visual architecture diagram
+β βββ documentation.tex # Main exam LaTeX document source
+β βββ documentation.pdf # Compiled exam PDF report
+βββ prepare-app.sh # Azure Deployment Orchestration Shell Script
+βββ remove-app.sh # Azure Resource Deletion Cleanup Script
+βββ backup-db.sh # Remote Secure Database Snapshot Tool
+βββ view-logs.sh # Remote Secure Logging Client
+βββ cloud-init.yaml # VM initialization cloud config directive
+βββ docker-compose.yaml # Standard Docker Multi-Container Compose Config
+βββ .env # Dynamic local settings (Gitignored)
+βββ env.example # Variable template for environment parameters
```
+
---
-## βοΈ Configuration Variables (`.env`)
+## π° Cloud Resource Cost Modeling
+Projected cloud billing estimation modeled around **1,000 active daily users** storing up to **50 GB** of relational information inside the Azure node:
-The system uses standard environment parameters injected dynamically at launch. Secrets are kept entirely outside of Git.
-
-| Variable Name | Default Value | Purpose |
-| :--- | :---: | :--- |
-| `POSTGRES_PASSWORD` | *[None]* | Database superuser credential (Secret). |
-| `AZURE_RESOURCE_GROUP` | `taskmanager-rg` | Resource container inside Azure. |
-| `AZURE_LOCATION` | `swedencentral` | Selected regional datacenter. |
-| `AZURE_VM_SIZE` | `Standard_B2ts_v2` | Sizing of deployment node. |
-| `AZURE_DNS_LABEL` | `taskmanager-gs699he` | Customized FQDN subdomain. |
+| Cloud Component | Capacity Specification | Monthly Cost | Annual Cost | Budget Status |
+| :--- | :--- | :---: | :---: | :---: |
+| ποΈ **Compute VM** | Standard_B2ts_v2 (2 vCPUs, 1 GB RAM, Burst capable) | $14.16 | $169.92 | Covered by Azure Credit |
+| πΎ **Storage SSD** | 64 GB Premium SSD P6 (Sustained High IOPS) | $9.60 | $115.20 | Covered by Azure Credit |
+| π **Networking** | Dedicated Public Static IPv4 Address | $3.00 | $36.00 | Covered by Azure Credit |
+| π **Bandwidth** | ~30 GB/Month Outbound Transfer | $0.00 | $0.00 | Free Tier |
+| π **Security** | Let's Encrypt ACME SSL/TLS Provisioning | $0.00 | $0.00 | Fully Free |
+| **π Cumulative Total** | **Ready for Production & Scaling** | **$26.76** | **$321.12** | **100% Student-Credit Eligible** |
---
-## π° 1-Year Cost Analysis
-Projected cloud billing estimation modeled around **1,000 active daily users** storing up to **50 GB** of relational information.
+## π Security Hardening Matrix
-| Azure Resource | Size / Metric Specification | Total Annual Cost |
-| :--- | :--- | :---: |
-| ποΈ **Compute (VM)** | Standard_B2ts_v2 (2 vCPUs, 1 GB RAM, Burst capable) | **$169.92** |
-| πΎ **Storage (SSD)** | 64 GB Premium SSD P6 (Supports high IOPS) | **$115.20** |
-| π **Networking** | Dedicated Public Static IPv4 Address | **$36.00** |
-| π **Bandwidth** | ~30 GB/Month Outbound Transfer (Within free tiers) | **$0.00** |
-| π **Security** | Let's Encrypt ACME SSL/TLS Provision | **$0.00** |
-| π **Projected Total** | **Ready for Staging & Production Scaling** | **~$321.12 / Year** |
-
----
-
-## π Implemented Security Protocols
-1. **Transport Encryption:** TLS 1.3 enforced globally with HTTP-to-HTTPS redirects.
-2. **Firewall Rigidity:** Closed database ports (5432, 6379) to external traffic. Only `80`, `443`, and SSH (`22`) are open.
-3. **Credential Hygiene:** Secrets loaded at runtime from a secure `.env` which is locked inside `.gitignore`.
-4. **Auto-Healing Infrastructure:** `restart: always` set on all Docker services to prevent container crashes from creating downtime.
+| Security Threat | Implemented System Defense | Architectural Detail |
+| :--- | :--- | :--- |
+| **Eavesdropping / MITM** | Enforced TLS 1.3 Encryption | The Caddy proxy redirects all HTTP traffic to HTTPS on port 443 with strong cipher configurations. |
+| **Unauthorized DB Access** | Total Port Firewallowing | Only Caddy ports (`80`, `443`) and SSH (`22`) are exposed. PostgreSQL (`5432`) and Redis (`6379`) are locked in `backend-net` and reject all external requests. |
+| **Credential Disclosure** | Runtime Environment Injection | Database passwords are kept entirely out of code and injected dynamically at compose-time from a secure `.env` file. |
+| **Container Downtime** | Automated Self-Healing Policies | All services use `restart: always` in `docker-compose.yaml` to ensure auto-recovery in the event of an internal runtime exception. |
+| **Data Loss / Host Corruption**| Local Database Snapshotting | The administrative `backup-db.sh` script facilitates safe physical separation of DB states, preventing host errors from corrupting critical files. |
---
## π€ AI Usage Declaration
-* **Google Antigravity (Gemini 2.5 Pro):** Employed in planning container network routing, creating optimal bash scripts, writing clean Caddyfile configs, and compiling the TeX project.
-* **Audit process:** All files, configs, and shell script variables were thoroughly reviewed, locally validated, and successfully tested against actual cloud executions.
+* **Google Antigravity (Gemini 2.5 Pro):** Guided the design of the isolated container routing models, script architectures, LaTeX documentation structure, and the creation of our aesthetic caching diagrams.
+* **Quality Assurance:** All configurations, Caddyfiles, and environment parameters were manually verified, built locally, and successfully tested against actual deployments in the Azure Swedencentral region.
---
+
+
*Technical University of KoΕ‘ice β KEMT FEI β Cloud Technologies β 2026*
+
+