mammoth-calculator

byumang suthar

create the basic and scientific 2 page calculator

LandingScientificCalculatorBasicCalculator
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 4

Mammoth-Calculator System Requirements Document

Introduction

The "Mammoth-Calculator" project aims to develop a versatile calculator application that caters to both basic and scientific calculation needs. This document outlines the system requirements for the project, ensuring that the application meets the expectations of users like Umang Suthar in India, where locale-specific defaults such as currency and timezone will be considered.

System Overview

The Mammoth-Calculator will be a two-page application, with one page dedicated to basic calculations and the other to scientific calculations. The basic calculator will handle everyday arithmetic operations, while the scientific calculator will include advanced functions such as trigonometry and logarithms. The application will be designed to provide a seamless user experience, with a focus on functionality and ease of use.

Functional Requirements

  • As a User, I should be able to perform basic arithmetic operations (addition, subtraction, multiplication, division).
  • As a User, I should be able to access scientific functions like trigonometry and logarithms.
  • As a User, I should be able to switch between basic and scientific calculator modes easily.
Page 2 of 4

User Personas

  • Basic User: Individuals who need to perform simple arithmetic calculations.
  • Scientific User: Users who require advanced mathematical functions for scientific or educational purposes.

Visuals Colors and Theme

  • primary: #1A5276 (Deep Ocean Blue)
  • primary_light: #5499C7 (Sky Blue)
  • secondary: #D35400 (Burnt Orange)
  • accent: #F1C40F (Sunflower Yellow)
  • highlight: #F39C12 (Amber)
  • bg: #F4F6F7 (Light Gray)
  • surface: rgba(255, 255, 255, 0.9)
  • text: #2C3E50 (Dark Slate)
  • text_muted: #7F8C8D (Gray)
  • border: rgba(44, 62, 80, 0.2)

Signature Design Concept

The Mammoth-Calculator will feature a dynamic, interactive interface that mimics a physical calculator. The home page will have a 3D calculator model using @react-three/fiber and @react-three/drei, allowing users to rotate and view the calculator from different angles. Each button press will animate with a subtle spring effect using framer-motion, providing tactile feedback. The transition between basic and scientific modes will be a smooth slide animation, enhancing the user experience. The calculator's display will have a digital screen effect, with numbers and functions appearing as if on an LED screen.

Page 3 of 4

Interaction Model & Motion Direction

The landing page will utilize a "parallax" interaction model, with layered depth effects as users scroll. The calculator interface will have "animated" interactions, with hover transitions and spring physics on buttons. Internal pages will maintain a "static" layout for clarity and ease of use.

Non-Functional Requirements

  • The application should load within 2 seconds on a standard internet connection.
  • The calculator must be responsive and work seamlessly on both desktop and mobile devices.
  • The application should support localization for Indian users, including currency and timezone settings.

Tech Stack

  • Frontend: React for Web
  • Backend: Python with 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

Assumptions and Constraints

  • The application will primarily target users in India, considering locale-specific defaults.
  • The project will be developed with scalability in mind, allowing for future feature expansions.
  • The application will not include AI capabilities at this stage.
Page 4 of 4

Glossary

  • Basic Calculator: A calculator that performs simple arithmetic operations.
  • Scientific Calculator: A calculator that includes advanced mathematical functions like trigonometry and logarithms.
  • Locale-specific defaults: Settings such as currency and timezone that are specific to a user's location.
Landing: View Calculator
Landing: Explore 3D Model
BasicCalculator: Enter Numbers
BasicCalculator: Perform Addition
BasicCalculator: Perform Subtraction
BasicCalculator: Perform Multiplication
BasicCalculator: Perform Division
BasicCalculator: View Result
BasicCalculator: Clear Display
ScientificCalculator: Switch Mode