# Neef IT - ISP Marketing Website PRD

## Original Problem Statement
Design and generate an ultra-modern, high-performance ISP marketing website for "Neef IT" (Sylhet, Bangladesh). Enterprise-grade, fully responsive, dark UI (Black/Red/White branding), Framer Motion animations, glassmorphism, neon glow effects. Multiple pages + a functional simulated Admin Dashboard via frontend React state (no real backend for CMS).

## Architecture
- **Frontend**: React + Tailwind CSS + Framer Motion + react-leaflet + localStorage-based CMS & Auth
- **Backend**: FastAPI + MongoDB (contact form only; dashboard/auth/CMS is frontend-only)
- **Data Layer**: `dataStore.js` (localStorage) for packages, partners, stats, users, sessions, branches

## Pages
- Home, Services, Packages, Coverage, FTP, About Us, Contact, Get Started
- Login (`/login`) — localStorage auth, protected route guard
- Admin Dashboard (`/dashboard`) — Protected, requires login

## What's Been Implemented
- [x] Multi-page structure with global Header/Footer (hidden on login + dashboard)
- [x] Animated Network Flow, Speed Indicators, Hero section
- [x] Packages component with animations, black backgrounds
- [x] Infinite scrolling Partners marquee with CSS mask-image fade
- [x] LiveStats section with counter animations
- [x] Login system — localStorage auth, loading state, error messages, session persistence
- [x] Protected routes — `/dashboard` requires login, auto-redirect
- [x] Session handling — persists on refresh, logout clears session
- [x] Dashboard topbar — logged-in username, profile dropdown
- [x] Sidebar — 7 tabs (Dashboard, Packages, Partners, Branches, Network Stats, Users, Settings) + Logout
- [x] Users management — full CRUD persisted to localStorage
- [x] Settings — password change validates current password, updates localStorage
- [x] Packages/Partners CRUD — Add/Edit/Delete via modals, localStorage
- [x] Network Stats — sliders + live preview, syncs to homepage via localStorage
- [x] **Coverage Page** — Leaflet dark map, 6 branch markers, branch list panel, "Check My Coverage" (GPS + Haversine distance), nearest branch highlighting, coverage radius circle
- [x] **Branches Management (Dashboard)** — Full CRUD (Name, Lat, Lng, Address, Contact), localStorage, syncs to Coverage page

## Key Files
- `/app/frontend/src/lib/dataStore.js` — All localStorage persistence
- `/app/frontend/src/pages/LoginPage.js` — Login
- `/app/frontend/src/pages/DashboardPage.js` — Full dashboard
- `/app/frontend/src/pages/CoveragePage.js` — Leaflet map + branch list + GPS coverage check
- `/app/frontend/src/App.js` — Routing, ProtectedRoute
- `/app/frontend/src/components/` — PackagesNew, Partners, LiveStats, Hero, etc.

## Auth Credentials
- Default admin: `admin` / `admin123`
- Default user: `john` / `john123`

## Known Limitations
- All CMS/Auth is SIMULATED (localStorage, no backend)
- Partner logos use placeholder URLs
- "Check Coverage" requires browser GPS permission

## Backlog / Future
- P2: Replace placeholder partner logos with real logos
- P3: Real image upload for partner logos
