Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

108 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

CalcSuite Banner

๐Ÿงฎ CalcSuite

Every calculator and converter you need, in one modern place.

HTML5 CSS3 JavaScript License

50 tools. Zero frameworks. One clean interface.

๐Ÿ“Œ Table of Contents

๐Ÿ“‘ Overview

CalcSuite is a static, framework-free web app that brings together ~50 calculators and converters โ€“ everything from a Simple Calculator to a live Currency Converter โ€“ inside one modern, unified interface.

๐Ÿ’ก Why CalcSuite?

๐Ÿ˜ Typical Calculator Sites โœ… CalcSuite
Directions Separate page per direction (cmโ†’ft and ftโ†’cm) ๐Ÿ”„ One tool, both directions, swap with a click
Feel Static, click "Calculate" to see anything โšก Live results as you type
Design Ad-heavy, dated layouts ๐ŸŽจ Clean, modern, distinctive UI
Theme Fixed light theme ๐ŸŒ— Dark / Light mode, remembered on reload
Devices Desktop-first, cramped on mobile ๐Ÿ“ฑ Mobile-first, fully responsive
Stack Often bloated with dependencies ๐Ÿงฉ Pure vanilla JS โ€“ no frameworks at all

โœจ Key Features

  • โšก Live Calculations โ€” Results update instantly as you type, no "Calculate" button needed
  • ๐Ÿ”„ Unified Bidirectional Tools โ€” Dropdown selectors + a swap (โ‡„) button handle every conversion direction
  • ๐ŸŒ— Dark / Light Mode โ€” Toggle with your preference saved via localStorage
  • ๐Ÿ“ฑ Fully Responsive โ€” Mobile-first design that scales cleanly to desktop
  • ๐Ÿ” Live Search โ€” Instantly filter all 49 tools from the home page as you type
  • ๐Ÿ“‹ Copy-to-clipboard โ€” One-click copy on every result, powered by the Clipboard API
  • ๐Ÿงญ Client-side Routing โ€” Smooth SPA feel via a lightweight hash-based router, with zero page reloads
  • ๐Ÿ’พ Persistent History & Favorites โ€” Pin your go-to tools and revisit past calculations
  • ๐ŸŒ Live Currency Rates โ€” Real exchange-rate data via fetch + async/await
  • ๐Ÿง  Originally-written Explanations โ€” Every tool includes a short breakdown of the formula/logic behind it

๐Ÿ› ๏ธ Built With

Layer Technology
Structure Semantic HTML5
Styling CSS3 โ€” custom properties for theming, Flexbox & Grid for layout
Logic Vanilla JavaScript (ES6+) โ€” Classes, Modules, Closures
Persistence localStorage (theme, history, favorites)
Live Data fetch + async/await for currency exchange rates

๐Ÿงฐ Full Tool List

๐Ÿงฎ Calculators (31 Tools)

โž— Math

  • Simple Calculator
  • Scientific Calculator
  • Percentage Calculator
  • Average Calculator (Mean / Median / Mode)
  • Standard Deviation & Variance Calculator
  • Fraction Calculator
  • Ratio Calculator
  • LCM & GCF Calculator
  • Quadratic Equation Solver
  • Base Calculator (Binary / Hex / Octal Arithmetic)
  • Random Number Generator

๐Ÿ’ฐ Financial

  • Simple & Compound Interest Calculator
  • Loan / EMI Calculator
  • Discount Calculator
  • VAT / Tax Calculator
  • Profit Margin Calculator

๐Ÿ‹๏ธ Health & Fitness

  • BMI Calculator
  • BMR / Daily Calorie Needs Calculator
  • Ideal Body Weight Calculator

๐Ÿ“… Date & Time

  • Age Calculator
  • Date Difference Calculator
  • Countdown Calculator
  • Time Duration Calculator

๐ŸŽ“ Grade / Education

  • GPA Calculator
  • Grade / Percentage Calculator
  • Final Grade Needed Calculator

๐Ÿ”Œ Electrical & Physics

  • Ohm's Law Calculator
  • Wattโ€“Voltโ€“Ampโ€“Ohm Calculator
  • Power Calculator

๐Ÿงพ Everyday Utility

  • Tip Calculator
  • Age in Days/Weeks/Hours Calculator

๐Ÿ”„ Converters (19 Tools)

๐Ÿ“ Everyday Units

  • Length Converter
  • Weight/Mass Converter
  • Temperature Converter
  • Volume Converter
  • Area Converter
  • Speed Converter
  • Data Storage Converter
  • Custom Unit Converter

๐Ÿ”ข Number System

  • Base Converter (Binary โŸท Decimal โŸท Octal โŸท Hex)
  • ASCII โŸท Text โŸท Binary โŸท Hex Converter
  • Roman Numeral Converter
  • Fraction โŸท Decimal โŸท Percentage Converter
  • Scientific Notation Converter

๐ŸŽจ Color

  • RGB โŸท HEX โŸท HSL โŸท HSV โŸท CMYK (with live swatch preview)

โšก Electrical / Electronics

  • Power Converter
  • Voltage Converter
  • Frequency Converter
  • Energy Converter

๐Ÿ’ฑ Currency

  • Live Currency Converter (real-time exchange rates)

๐ŸŒ— Theming

CalcSuite ships with a full dark and light theme system built on CSS custom properties. The active theme is:

  1. Read from localStorage before first paint โ€“ no flash of the wrong theme
  2. Toggleable from the header at any time
  3. Persisted automatically for your next visit

๐Ÿš€ Getting Started

CalcSuite is 100% static โ€“ no build step required. Because it uses ES Modules and fetch, it needs to be served over http(s), not opened directly as a file://.

Prerequisites

  • A modern browser (Chrome, Opera, Brave, Firefox, Edge)
  • Any lightweight local server (Node's serve, VS Code's Live Server, or Python's built-in server)

Installation

# Clone the repository
git clone https://github.com/TajkirHossen-14/CalcSuite.git

# Move into the project folder
cd CalcSuite

Running Locally

# Option 1: using npx serve
npx serve .

# Option 2: using Python
python3 -m http.server 8000

Then open http://localhost:PORT in your browser. ๐ŸŽ‰

๐Ÿ“ Project Structure

CalcSuite/
โ”‚
โ”œโ”€โ”€ index.html
โ”‚       
โ”œโ”€โ”€ css/
โ”‚   โ”œโ”€โ”€ base.css
โ”‚   โ”œโ”€โ”€ components.css
โ”‚   โ”œโ”€โ”€ themes.css
โ”‚   โ””โ”€โ”€ variables.css
โ”‚
โ”œโ”€โ”€ js/
โ”‚   โ”œโ”€โ”€ calculators/
โ”‚   โ”‚   โ”œโ”€โ”€ datetime/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ age.js
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ countdown.js
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ dateDifference.js
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ timeDuration.js
โ”‚   โ”‚   โ”œโ”€โ”€ electrical/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ohmsLaw.js
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ power.js
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ wattVoltAmpOhm.js
โ”‚   โ”‚   โ”œโ”€โ”€ everyday/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ageInUnits.js
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ tip.js
โ”‚   โ”‚   โ”œโ”€โ”€ financial/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ discount.js
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ interest.js
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ loan.js
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ profitMargin.js
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ vat.js
โ”‚   โ”‚   โ”œโ”€โ”€ grade/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ finalGrade.js
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ gpa.js
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ gradePercentage.js
โ”‚   โ”‚   โ”œโ”€โ”€ health/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ bmi.js
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ bmr.js
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ idealWeight.js
โ”‚   โ”‚   โ””โ”€โ”€ math/
โ”‚   โ”‚       โ”œโ”€โ”€ average.js
โ”‚   โ”‚       โ”œโ”€โ”€ baseCalculator.js
โ”‚   โ”‚       โ”œโ”€โ”€ fraction.js
โ”‚   โ”‚       โ”œโ”€โ”€ lcmGcf.js
โ”‚   โ”‚       โ”œโ”€โ”€ percentage.js
โ”‚   โ”‚       โ”œโ”€โ”€ quadratic.js
โ”‚   โ”‚       โ”œโ”€โ”€ randomNumber.js
โ”‚   โ”‚       โ”œโ”€โ”€ ratio.js
โ”‚   โ”‚       โ”œโ”€โ”€ scientificCalculator.js
โ”‚   โ”‚       โ”œโ”€โ”€ simpleCalculator.js
โ”‚   โ”‚       โ””โ”€โ”€ standardDeviation.js
โ”‚   โ”œโ”€โ”€ converters/
โ”‚   โ”‚   โ”œโ”€โ”€ color/
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ color.js
โ”‚   โ”‚   โ”œโ”€โ”€ currency/
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ currency.js
โ”‚   โ”‚   โ”œโ”€โ”€ electrical/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ energy.js
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ frequency.js
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ power.js
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ voltage.js
โ”‚   โ”‚   โ”œโ”€โ”€ numberSystem/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ asciiText.js
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ base.js
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ fractionDecimal.js
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ roman.js
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ scientificNotation.js
โ”‚   โ”‚   โ””โ”€โ”€ units/
โ”‚   โ”‚       โ”œโ”€โ”€ area.js
โ”‚   โ”‚       โ”œโ”€โ”€ custom.js
โ”‚   โ”‚       โ”œโ”€โ”€ dataStorage.js
โ”‚   โ”‚       โ”œโ”€โ”€ length.js
โ”‚   โ”‚       โ”œโ”€โ”€ speed.js
โ”‚   โ”‚       โ”œโ”€โ”€ temperature.js
โ”‚   โ”‚       โ”œโ”€โ”€ volume.js
โ”‚   โ”‚       โ””โ”€โ”€ weight.js
โ”‚   โ”œโ”€โ”€ core/
โ”‚   โ”‚   โ”œโ”€โ”€ Fraction.js
โ”‚   โ”‚   โ”œโ”€โ”€ toolPage.js
โ”‚   โ”‚   โ”œโ”€โ”€ UnitConverter.js
โ”‚   โ”‚   โ””โ”€โ”€ unitTool.js
โ”‚   โ”œโ”€โ”€ utils/
โ”‚   โ”‚   โ”œโ”€โ”€ dom.js
โ”‚   โ”‚   โ”œโ”€โ”€ format.js
โ”‚   โ”‚   โ”œโ”€โ”€ storage.js
โ”‚   โ”‚   โ””โ”€โ”€ validators.js
โ”‚   โ”œโ”€โ”€ views/
โ”‚   โ”‚   โ”œโ”€โ”€ category.js
โ”‚   โ”‚   โ”œโ”€โ”€ home.js
โ”‚   โ”‚   โ”œโ”€โ”€ library.js
โ”‚   โ”‚   โ””โ”€โ”€ shared.js
โ”‚   โ”œโ”€โ”€ main.js
โ”‚   โ”œโ”€โ”€ router.js
โ”‚   โ””โ”€โ”€ tools.js
โ”‚
โ”œโ”€โ”€ sw.js
โ”œโ”€โ”€ manifest.json
โ”‚
โ”œโ”€โ”€ LICENSE
โ”‚
โ”œโ”€โ”€ Assets/
โ”‚   โ”œโ”€โ”€ Banner/
โ”‚   โ””โ”€โ”€ Favicon/
โ”‚
โ””โ”€โ”€ README.md

๐Ÿง  Advanced JS Concepts Showcased

  • ๐Ÿงฑ ES6+ Classes โ€” Each tool encapsulates its own state and logic
  • ๐Ÿ“ฆ ES Modules โ€” One import/export module per tool, dynamically loaded per route
  • ๐Ÿ” Closures & higher-order functions โ€” Reusable calculation logic (e.g. the generic UnitConverter class powers 6+ different converters)
  • ๐ŸŽฏ Event delegation โ€” Powers the router and dynamic tool switching
  • โณ Debouncing โ€” Smooth, efficient live-input calculations
  • ๐ŸŒ Async/Await + Fetch API โ€” Real-time currency exchange rates
  • ๐Ÿ’พ LocalStorage โ€” Theme, history, and favorites persistence
  • ๐Ÿ“‹ Clipboard API โ€” One-click "copy result" on every tool
  • โœ… Inline form validation โ€” Clear, immediate feedback on invalid input

๐Ÿค๐Ÿผ Contributing

Contributions are always welcome!

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/Amazing-Tool)
  3. Commit your changes
  4. Push and open a Pull Request

โญ Support

If you find CalcSuite useful, consider giving it a star โญ

๐Ÿ“œ License

This project is licensed under the MIT License.

About

๐Ÿงฎ๐Ÿ”„ Every calculator and converter you need, in one modern place. โœจ

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages