hollow-trigo

byMonin Modi

create a trigo plotting website

Landing
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 4

Hollow-Trigo System Requirements Document

1. Introduction

The Hollow-Trigo project aims to develop a comprehensive trigonometric plotting website. This platform will enable users to visualize and interact with various trigonometric functions, providing an intuitive and educational experience.

2. System Overview

Hollow-Trigo is designed to be a user-friendly web application that allows users to plot and analyze trigonometric functions. The system will support both basic and advanced plotting features, catering to a wide range of users from students to educators and professionals. The application will be accessible via web browsers, ensuring cross-platform compatibility.

3. Functional Requirements

  • As a User, I should be able to plot basic trigonometric functions such as sine, cosine, and tangent.
  • As a User, I should be able to customize the plotting range and scale.
  • As a User, I should be able to overlay multiple trigonometric functions for comparison.
  • As a User, I should be able to export plots as images or PDFs.
  • As a User, I should be able to interact with plots by zooming and panning.
  • As a User, I should be able to save and load plot configurations.
  • As a User, I should be able to access educational resources related to trigonometric functions.
Page 2 of 4

4. User Personas

  • Student: A user who is learning trigonometry and uses the platform to visualize and understand trigonometric functions.
  • Educator: A user who uses the platform to demonstrate trigonometric concepts in a classroom setting.
  • Professional: A user who requires precise trigonometric plotting for research or work-related tasks.

5. Core User Flows

  • Student selects a trigonometric function -> adjusts plotting parameters -> views and interacts with the plot.
  • Educator prepares a lesson -> selects multiple functions -> overlays plots -> exports plots for presentation.
  • Professional configures advanced plotting settings -> saves plot configuration -> exports plot for analysis.

6. Visuals Colors and Theme

  • primary: #1E3A8A (Deep Blue)
  • primary_light: #3B82F6 (Light Blue)
  • secondary: #F97316 (Vibrant Orange)
  • accent: #10B981 (Emerald Green)
  • highlight: #F59E0B (Amber)
  • bg: #F3F4F6 (Light Gray)
  • surface: rgba(255, 255, 255, 0.8) (White)
  • text: #111827 (Dark Gray)
  • text_muted: #6B7280 (Muted Gray)
  • border: rgba(209, 213, 219, 0.2) (Light Gray)
Page 3 of 4

7. Signature Design Concept

The Hollow-Trigo homepage will feature an interactive 3D trigonometric landscape. Using @react-three/fiber and @react-three/drei, users will navigate a virtual environment where each trigonometric function is represented as a dynamic, floating island. Hovering over an island will animate the function's graph, and clicking will allow users to explore detailed plots and educational content. This immersive experience will make learning trigonometry engaging and memorable.

8. Interaction Model & Motion Direction

The landing page will utilize a "parallax" interaction model, creating a sense of depth as users scroll through the content. Layers of trigonometric graphs and educational content will move at different speeds, enhancing the storytelling aspect of the platform. Internal pages will adopt a "static" model to ensure clarity and ease of use for plotting and analysis tasks.

9. Non-Functional Requirements

  • The system should support high availability and handle concurrent users efficiently.
  • The application must be responsive and accessible on various devices and screen sizes.
  • Data privacy and security must be ensured, especially when saving user configurations.
Page 4 of 4

10. Tech Stack

  • Frontend: React for Web
  • Backend: Python, FastAPI
  • Database: MySQL or MariaDB, using Alembic for migrations
  • AI Models: Not applicable
  • AI Tools: Not applicable
  • Local Orchestration: Docker, docker-compose
  • Server-side Orchestration: Kubernetes

11. Assumptions and Constraints

  • The platform will primarily target users in the US, considering locale-specific defaults such as time zones.
  • The application will be developed with scalability in mind to accommodate future feature expansions.

12. Glossary

  • Trigonometric Functions: Mathematical functions of an angle, commonly sine, cosine, and tangent.
  • Plotting: The act of graphically representing data or functions.
  • Overlay: Displaying multiple plots on a single graph for comparison.
  • Parallax: A scrolling technique that creates an illusion of depth by moving background and foreground elements at different speeds.
Landing design preview
Landing: Explore Platform
Login: Sign In
Dashboard: Prepare Lesson
Plotter: Select Functions
Plotter: Overlay Functions
Plotter: Customize Range
Plotter: Preview Plot
Plotter: Export Plot
Export: Download PDF
SavedPlots: Load Configuration
Plotter: Edit Configuration