Live Demo: (https://server-room-monitoring-project-e.vercel.app/)
Admin Login: /login (Firebase Auth required)
Tech Stack: React + TypeScript + Vite + Firebase + CSS + Vercel
Version: 1.0
Date: October 29, 2025
This document defines the functional and non-functional requirements for Project E, a real-time IoT-based server room monitoring dashboard that enables administrators to track environmental conditions, receive alerts, and manage server health via a secure, responsive web interface.
The system includes:
- Real-time monitoring of temperature, humidity, and power status across multiple server zones.
- Firebase Realtime Database for data storage and synchronization.
- Admin authentication with role-based access.
- Responsive web dashboard with visual indicators and historical trends.
- Alert system for critical conditions.
- IT Administrators
- Data Center Managers
- DevOps Engineers
| Component | Technology |
|---|---|
| Frontend | React + TypeScript + Vite |
| Backend | Firebase Realtime Database & Auth |
| Hosting | Vercel |
| Styling | CSS + Custom CSS |
| Data Flow | IoT Sensors → Firebase → Dashboard |
| ID | Requirement |
|---|---|
| FR-01 | Users must log in sing PASSKEYS. |
| FR-02 | Only authenticated users can access the dashboard. |
| FR-03 | Session persists until logout. |
| FR-04 | Unauthorized users are redirected to /login. |
| ID | Requirement |
|---|---|
| FR-05 | Public landing page with animated robot video. |
| FR-06 | "ADMIN ACCESS" button navigates to /login. |
| FR-07 | Responsive design (mobile, tablet, desktop). |
| FR-08 | Fast load time. |
| ID | Requirement |
|---|---|
| FR-09 | Display multiple server zones in a grid. |
| FR-10 | Each zone shows: • Zone name • Current Temperature (°C) • Current Humidity (%) • Power status (ON/OFF) • Last updated timestamp |
| FR-11 | Color-coded status: • Green: Normal • Yellow: Warning • Red: Critical |
| FR-12 | Click zone → navigate to detailed view (/zone/:id). |
| ID | Requirement |
|---|---|
| FR-13 | Show real-time graph of temperature & humidity (last 1 hour). |
| FR-14 | Display historical data table (last 24 hours). |
| FR-15 | "Back to Dashboard" button. |
| FR-16 | Auto-refresh every 10 seconds. |
| ID | Requirement |
|---|---|
| FR-17 | Trigger alert if: • Temp > 30°C • Temp < 15°C • Humidity > 70% • Humidity < 30% • Power OFF |
| FR-18 | Visual alert: blinking red border on zone card. |
| FR-19 | Toast notification on critical change. |
| ID | Requirement |
|---|---|
| FR-20 | Accessible at /admin. |
| FR-21 | Add/edit/delete zones. |
| FR-22 | Set custom thresholds per zone. |
| FR-23 | View audit log of alerts. |
Clone the repository: git clone https://github.com/Vasundhara-331/Project-E.git
cd Project-E
Install dependencies
npm install
Run locally
npm run dev
Build for production
npm run build