frozen-data

byfouad hammami

Analyze the data in the html file, suggest six different charts, then convert into interactive dashboard, use HTML, CSS, chart.js to build the dashboard

Landing
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 4

System Requirements Document (SRD)

Project Name: frozen-data

1. Introduction

The frozen-data project aims to create an interactive dashboard for analyzing sales and performance data across multiple outlets and product categories. The dashboard will be built using HTML, CSS, and Chart.js, providing a user-friendly interface for visualizing trends, comparisons, and insights. This document outlines the system requirements, user personas, design concepts, and technical specifications for the project.

2. System Overview

The frozen-data system will process sales data from HTML tables and generate six interactive charts. These charts will be integrated into a responsive dashboard, allowing users to explore data trends and performance metrics for various outlets and product categories, including Prepaid, Mobility, Wireless, and Fiber. The system will leverage Chart.js for chart generation and provide a visually appealing and intuitive user interface.

3. Functional Requirements

  • As a User, I should be able to upload an HTML file containing sales data.
  • As a User, I should be able to view six different types of charts based on the uploaded data.
  • As a User, I should be able to interact with the charts (e.g., hover for details, filter by category).
  • As a User, I should be able to download the dashboard as an HTML file.
  • As a User, I should be able to toggle between monthly and cumulative sales views.
  • As a User, I should be able to view a summary of total sales and top-performing outlets.

4. User Personas

4.1 Admin

  • Role: Manages data uploads and dashboard configurations.
  • Responsibilities: Ensures data accuracy, customizes chart settings, and monitors system performance.
Page 2 of 4

4.2 Analyst

  • Role: Analyzes sales trends and performance metrics.
  • Responsibilities: Interprets data visualizations, generates reports, and identifies actionable insights.

4.3 Viewer

  • Role: Views the dashboard for informational purposes.
  • Responsibilities: Explores charts and summaries without modifying data or settings.

5. Visuals Colors and Theme

Color Palette

The color palette is inspired by the reference images provided, emphasizing clarity and professionalism:

  • Background: #f8f9fa (light gray)
  • Surface: #ffffff (white)
  • Text: #333333 (dark gray)
  • Accent: #4caf50 (green)
  • Muted Tones: #cccccc (light gray for borders)

6. Signature Design Concept

The frozen-data dashboard will feature a dynamic "Data Flow" animation on the homepage. This animation will simulate data streams flowing into a central hub, visually representing the aggregation of sales data.

Key Features:

  • Animation: A continuous flow of colored lines (representing data categories) converging into a central node.
  • Interaction: Hovering over the node will display a tooltip summarizing total sales and key metrics.
  • Transition: Smooth transitions between sections, with charts appearing as if "unfolding" from the central hub.
  • Micro-interactions: Subtle hover effects on charts and buttons to enhance user engagement.
Page 3 of 4

7. Non-Functional Requirements

  • The system must process and render data within 2 seconds of upload.
  • The dashboard must be responsive and compatible with modern browsers (Chrome, Firefox, Edge).
  • The system must handle datasets of up to 10,000 rows without performance degradation.
  • The system must ensure data security and prevent unauthorized access.

8. Tech Stack

Frontend

  • React for Web
  • Chart.js for data visualization

Backend

  • Python
  • FastAPI

Database

  • MySQL for structured data storage

AI Tools

  • Litellm for LLM Routing

Orchestration

  • Docker for local development
  • Kubernetes for server-side orchestration

9. Assumptions and Constraints

  • The input data will always be in a structured HTML table format.
  • Users will have basic familiarity with dashboards and data visualization.
  • The system will not support real-time data updates in this version.
Page 4 of 4

10. Glossary

  • Chart.js: A JavaScript library for creating interactive charts.
  • Dashboard: A graphical interface for visualizing data.
  • Outlet: A sales location or store.
  • Prepaid: A product category for prepaid services.
  • FTD: First-time deposit, a metric for new customer sales.
Landing design preview
Landing: View Dashboard
Upload: Select File
Upload: Submit Data
Dashboard: View Charts
Settings: Configure Charts
Dashboard: Export File