# Apophis Security Lab ## Project Red/Blue team home lab with React SOC dashboard. Educational cybersecurity curriculum. ## Dashboard Stack - **Tech**: React 19, Vite 7, Tailwind CSS v4, Recharts, date-fns - **Dev**: `cd dashboard && npm run dev` → localhost:5173 - **Paths**: `dashboard/src/components/*.jsx`, `dashboard/src/data/mockData.js` ## Brand (Apophis Networking) - **Files**: `brandguidelines.md`, `logo.png` (crimson serpent shield) - **Style**: Tech-Noir, dark backgrounds, sharp corners - **Rule**: ⚠️ **NEVER use `border-radius`** - 0px only (sharp edges) - **Colors**: See `brandguidelines.md` for hex values - **Tailwind**: `ap-red`, `ap-black`, `ap-dark`, `ap-panel`, `ap-silver`, `ap-blue`, `ap-green`, `ap-yellow`, `ap-orange` ## Components | Component | Purpose | |-----------|---------| | `Header.jsx` | Logo, clock, threat level | | `ThreatFeed.jsx` | Live alert stream | | `NetworkTraffic.jsx` | Area chart (in/out/blocked) | | `SystemHealth.jsx` | System status cards | | `MitreHeatmap.jsx` | ATT&CK coverage grid | | `TopThreats.jsx` | Top attacker IPs table | | `IncidentTracker.jsx` | IR pipeline tracker | | `VulnSummary.jsx` | Vulnerability donut chart | ## Conventions - **Data**: All mock/simulated (no backend yet) - **CSS**: Use `.panel`, `.panel-header` classes - **Severity**: `critical`, `high`, `medium`, `low`, `info`