### Summarize Key Points

**Instructions:**

1. **Comprehension:** Carefully read and understand the text enclosed within the `<TEXT>` tags. Identify its main themes, arguments, and supporting details.

2. **Extraction:** Determine the most critical points by considering the following:
   - **Relevance:** How essential is this information to the overall understanding of the text?
   - **Impact:** Does this point significantly influence the main argument or narrative?
   - **Uniqueness:** Is this information distinct and not repetitive of other points?

3. **Summarization:** Convert these critical points into concise bullet points, ensuring each:
   - Clearly conveys a single idea.
   - Is self-explanatory without needing additional context.
   - Maintains the original meaning and intent of the text.

4. **Organization:** Arrange the bullet points logically, reflecting the structure of the original text or grouping similar ideas together for coherence.

5. **Review:** Reassess the bullet points to ensure:
   - All major points are covered without unnecessary details.
   - There is no redundancy.
   - The summary provides a clear and accurate representation of the original text.

<TEXT>


# PerfTrack: Website Performance Tracking and Monitoring Web App

**Inspiration:** Similar projects include StatusCake.

**Core Features:

1. **Website and URL Management:
    1. Add websites via the dashboard.
    2. Manage and track multiple URLs per website.
2. **Performance Monitoring:
    1. Track page-specific speed performance using Lighthouse.
    2. Test URL performance on-demand (separate from scheduled scans).
    3. View historical performance data with interactive charts.
    4. Set schedules for performance scans (daily, weekly, monthly).
3. **Update Time Monitoring:
    1. Monitor website update times at predefined intervals.
    2. Test update times on-demand (separate from scheduled checks).
    3. Access update time history with charts.
4. **Domain & SSL Tracking:
    1. Monitor SSL certificate expiration dates.
    2. Track domain expiration dates.
5. **Notifications (Future Phase):
    1. Receive alerts for performance issues, update delays, SSL expirations, or domain expirations.

## Page Structure

### Authenticated User Pages

- **Dashboard** (`/dashboard`)
  - A responsive, data-focused command center organized in a modular grid system:

    **Header Section:**
    - Quick stats bar showing total monitored sites, active alerts, and system status
    - Global actions toolbar with "Add Website", "Run Tests", and "Generate Report" buttons
    - Time range selector affecting all dashboard metrics (24h, 7d, 30d, custom)

    **Main Grid:**
    - Resizable and draggable website cards arranged in a masonry layout
    - Each card features:
      - Website favicon and title with status indicator
      - Sparkline charts showing 24h performance trends
      - Latest Lighthouse scores displayed as circular gauges
      - SSL/Domain expiration countdown
      - Quick action buttons revealed on hover
      - Error/warning indicators with severity levels

    **Sidebar Elements:**
    - Real-time activity feed with color-coded events
    - Upcoming scheduled scans timeline
    - Resource usage meters (API calls, storage)
    - Quick filters for viewing specific website categories

    **Bottom Panel:**
    - Collapsible detailed metrics table
    - Batch operations interface
    - Export and reporting tools

    **Interactive Features:**
    - Live updates using WebSocket connections
    - Drag-and-drop card reorganization
    - Click-through for detailed site analytics
    - Contextual tooltips for all metrics
    - Keyboard shortcuts for common actions

- **Add Website** (`/websites/add`)
  - A clean, stepped form interface that guides users through the website addition process. The form includes URL validation, option to add multiple URLs, and preset monitoring schedule selection. Preview cards show how the website will appear in the dashboard after addition.

- **Manage Websites** (`/websites`)
  - A responsive table/grid hybrid view listing all websites with sortable columns for key metrics. Each row expands to show detailed URL management options. Quick actions for testing and editing appear on hover. Filters and search functionality help manage large lists efficiently.

- **Performance Details** (`/websites/:id/performance`)
  - A comprehensive dashboard dominated by performance graphs and Lighthouse score visualizations. The page features a prominent score card at the top, followed by historical trend charts. Below, detailed metrics are organized in collapsible sections. A floating action button enables instant performance testing.

- **Update Time History** (`/websites/:id/update-time`)
  - A timeline-focused interface with a large chart showing update frequency patterns. Below the chart, a detailed log table displays all checks with their results. A side panel allows quick schedule adjustments and on-demand checks. Visual indicators clearly show whether updates are occurring as expected.

- **Schedules** (`/schedules`)
  - A calendar-based interface showing all scheduled scans across websites. Users can drag and drop to adjust schedules, with a side panel for detailed configuration. The view switches between calendar and list modes, with clear visual indicators for different types of scheduled tasks.

- **Domain & SSL Tracker** (`/trackers`)
  - A dashboard organized by expiration timelines. Domains and SSL certificates are displayed in separate sections with countdown indicators. Each entry shows detailed status information and upcoming renewal dates. A calendar view highlights important dates, with color-coding for urgency levels.

- **Notifications** (`/notifications`)
  - A unified notification center with filtering capabilities. Notifications are grouped by type and urgency, with unread items highlighted. Each notification includes context and direct action buttons. A settings panel allows fine-tuning of notification preferences per website and alert type.

- **Account Settings** (`/settings`)
  - A tabbed interface organizing different setting categories. The main tab shows profile information with inline editing. Additional tabs handle notification preferences, API key management, and account security settings. Changes are saved automatically with clear success indicators.

- **Billing** (`/billing`)
  - A clean interface showing current subscription status at the top, followed by payment history. Plan comparison cards allow easy upgrades/downgrades. Payment method management and invoice history are organized in separate sections, with clear calls-to-action for plan changes.

### Public Pages

- **Home** (`/`)
  - A modern, responsive landing page with a full-width hero section featuring an animated demonstration of the monitoring dashboard. The hero includes a prominent value proposition and two CTAs - "Start Monitoring" and "View Demo". Below the fold, three main sections showcase key features using interactive cards with hover effects. Each feature card includes a small demo animation, benefit description, and "Learn More" link. The middle section displays real-time statistics (e.g., "X websites monitored", "Y tests performed") with counting animations. The bottom section includes a condensed pricing table with a feature matrix, followed by a testimonials carousel displaying user success stories. A sticky CTA button remains visible while scrolling.

- **Sign Up** (`/signup`)
  - A conversion-optimized registration flow split into three steps: (1) Account Creation - collecting email and password with strength indicators and live validation, (2) Plan Selection - featuring an interactive pricing table with highlighted recommended plan and custom comparison tool, and (3) Setup Preferences - allowing users to pre-configure notification settings and add their first website. The page includes a progress bar, ability to move back/forth between steps, and session persistence. Social sign-up options are prominently displayed with clear OAuth provider logos. The right sidebar shows a live preview of the dashboard populated with sample data, updating based on the selected plan.

- **Login** (`/login`)
  - A streamlined authentication page with a centered, floating card design. The form features smart input handling with email domain suggestions, password visibility toggle, and "Remember Me" option. Social login providers are arranged in a grid with branded buttons. Below the main form, helpful links for password recovery and account creation are prominently displayed. The page includes a subtle background pattern that responds to mouse movement. A side panel shows login attempt location and device information for security. Session persistence options allow users to choose login duration.

- **Pricing** (`/pricing`)
  - A dynamic pricing comparison page with an interactive feature matrix. The top section uses a toggle switch between monthly/annual billing with animated price updates. Three main pricing tiers are displayed as floating cards with hover animations and "Most Popular" highlighting. Each plan card includes a detailed feature list with checkmarks and tooltips explaining advanced features. A comparison table below expands on feature differences with inline "Learn More" modals. The page includes a live calculator tool allowing users to estimate costs based on their monitoring needs. The bottom section features social proof with logos of notable clients and testimonials. A persistent "Custom Enterprise" contact button floats in the corner for large-scale clients.

- **About** (`/about`)
  - A narrative-driven page that opens with a parallax scrolling timeline of the project's evolution. The mission statement appears in an animated, typography-focused hero section. Team profiles are presented in an interactive grid with hover-activated role descriptions and contact options. A technical overview section uses animated infographics to illustrate the monitoring architecture. The stack section features interactive cards for each technology, with expandable details and documentation links. Customer success stories are woven throughout using case study cards with key metrics. The page concludes with a dynamic "Join Our Team" section featuring current openings.

- **Contact** (`/contact`)
  - A comprehensive support hub centered around an intelligent contact form. The form dynamically adjusts required fields based on the selected inquiry type. The left sidebar displays real-time support status including current wait times and available channels. A contextual FAQ section updates based on form inputs, potentially resolving issues before submission. The page features a chatbot toggle for immediate assistance, integrated with the knowledge base. Support hours are displayed with automatic timezone conversion. The form includes file attachment capability for screenshots and logs, with drag-and-drop support. Contact preferences can be saved for returning users.

### Admin Pages (Optional)

- **Admin Dashboard** (`/admin`)
  - An advanced monitoring interface split into distinct operational zones:

    **System Overview Panel:**
    - Real-time server metrics with interactive graphs
      - CPU/Memory/Disk usage trends
      - Request latency distributions
      - Queue lengths and processing rates
      - Error rate monitoring
    - Service health indicators with status history
    - Automated issue detection with ML-based anomaly highlighting

    **User Activity Section:**
    - Real-time user session map
    - Concurrent user count graphs
    - Registration/churn metrics
    - User engagement scores
    - Resource usage per user

    **Monitoring Status:**
    - Service uptime statistics
    - Job queue health metrics
    - Database performance indicators
    - Cache hit rates and statistics
    - API usage patterns and limits

    **Operations Console:**
    - Command center for system maintenance
    - One-click system optimizations
    - Backup/restore interfaces
    - Emergency controls for service management
    - Audit log with action replay capability

    **Alert Management:**
    - Critical issue notifications
    - Alert acknowledgment workflow
    - Escalation path visualization
    - Incident response tracking
    - Post-mortem report generation

- **User Management** (`/admin/users`)
  - A sophisticated user administration interface with advanced filtering and bulk operations. The main table features infinite scroll with fixed headers and customizable columns. User profiles expand inline with detailed activity logs and permission management. The interface includes batch operations for role assignments and status updates. A side panel provides quick access to user statistics and potential security flags. Advanced search supports complex queries across all user metadata. The page includes audit logging for admin actions and a user impersonation feature for troubleshooting. Role management includes a visual permission matrix with inheritance visualization.

- **System Logs** (`/admin/logs`)
  - A powerful logging interface with real-time log streaming and advanced search capabilities. The main view features syntax-highlighted log entries with expandable context. Filtering options include severity levels, time ranges, and service-specific filters. The interface supports log correlation across services with thread tracking. A side panel shows log statistics and common error patterns. Advanced features include log export in multiple formats, saved search queries, and automated alert creation from log patterns. The page includes a timeline viewer for tracing request flows and a dedicated error analytics dashboard.

- **App Settings** (`/admin/settings`)
  - A comprehensive settings management interface divided into logical sections. Global configurations are managed through an intuitive form interface with change preview and validation. Service-specific settings include performance thresholds and monitoring intervals with visual aids for impact assessment. The notification configuration section provides a visual builder for alert rules and escalation paths. System parameters can be adjusted with real-time validation and impact warnings. The interface includes environment variable management, feature flag controls, and maintenance mode settings. A configuration history tracks all changes with rollback capabilities.

## Tech Stack

- **Frontend:** Next.js (React), Tailwind CSS (or Chakra UI)
- **Backend:** Node.js, Express, SQLite
- **Performance Monitoring:** Lighthouse API
- **Update Time Monitoring:** Custom script
- **Domain & SSL Tracking:**
  - for ssl: `ssl-checker`
  - for domain expiration check: `whois-parsed`
- **Authentication:** JWT (JSON Web Tokens) with Passport.js or NextAuth.js
</TEXT>