Skip to content

dmisiuk/acousticalc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

51 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

AcoustiCalc

AcoustiCalc Logo

Go Report Card License: MIT Release Build Status

A revolutionary terminal calculator that bridges the gap between traditional command-line tools and modern graphical interfaces. Built with Go's performance and designed for users who work in terminal environments.

โœจ Features

๐Ÿงฎ Core Calculator Features

  • Basic Arithmetic: Addition, subtraction, multiplication, division
  • Advanced Operations: Exponents, roots, percentages, parentheses support
  • Expression Evaluation: Mathematical expressions with proper operator precedence
  • Error Handling: Comprehensive error messages and validation
  • High Performance: <100ms response time, <50MB memory footprint

๐ŸŽฏ User Experience

  • Cross-Platform: Single binary works on Windows, macOS, and Linux
  • No Dependencies: Standalone application with no external requirements
  • Fast Startup: <1 second startup time on all platforms
  • CLI Interface: Simple command-line usage for quick calculations

๐Ÿš€ Quick Start

Installation

From GitHub Releases (Recommended)

Download the latest release for your platform from the GitHub Releases page.

Build from Source

# Clone the repository
git clone https://github.com/dmisiuk/acousticalc.git
cd acousticalc

# Build the application
go build -o acousticalc ./cmd/acousticalc

# Make it executable (Unix-like systems)
chmod +x acousticalc

Usage

Basic Usage

# Simple arithmetic
./acousticalc "2 + 3 * 4"        # Result: 14

# Expressions with parentheses
./acousticalc "10 / (2 + 3)"      # Result: 2

# Complex expressions
./acousticalc "(5 + 3) * 2 - 4"   # Result: 12

# Negative numbers
./acousticalc "-5 + 10"           # Result: 5

Examples

# Basic operations
./acousticalc "2 + 2"             # Result: 4
./acousticalc "10 - 3"            # Result: 7
./acousticalc "6 * 7"             # Result: 42
./acousticalc "100 / 4"           # Result: 25

# Operator precedence
./acousticalc "2 + 3 * 4"         # Result: 14 (not 20)
./acousticalc "(2 + 3) * 4"       # Result: 20

# Division with decimals
./acousticalc "10 / 3"            # Result: 3.3333333333333335

๐Ÿ—๏ธ Architecture

AcoustiCalc follows a modular architecture with clear separation of concerns:

  • Calculator Engine: Core mathematical operations and expression parsing
  • CLI Interface: Command-line interface for user interaction
  • Cross-Platform Layer: Platform-agnostic design for seamless operation

Technology Stack

  • Language: Go 1.25.1+ for performance and cross-platform compilation
  • Architecture: Modular design with comprehensive error handling
  • Testing: Built-in Go testing with >90% coverage
  • Build System: Single binary with no external dependencies

๐Ÿงช Development

Prerequisites

  • Go 1.25.1 or higher
  • Git

Setup

# Clone the repository
git clone https://github.com/dmisiuk/acousticalc.git
cd acousticalc

# Run tests
go test ./...

# Run tests with coverage
go test -cover ./...

# Build for development
go build -o acousticalc ./cmd/acousticalc

Running Tests

# Run all tests
go test ./...

# Run tests with coverage
go test -cover ./...

# Run tests with coverage report
go test -coverprofile=coverage.out && go tool cover -html=coverage.out

๐Ÿ“‹ Roadmap

Phase 1 (MVP - โœ… Completed)

  • Basic arithmetic operations
  • Expression parsing and evaluation
  • Cross-platform CLI interface
  • Single binary distribution
  • Comprehensive test coverage
  • GitHub Actions CI/CD

Phase 2 (v1.0 - In Progress)

  • TUI Interface: Terminal-based user interface with mouse support
  • Audio Feedback: Sound effects for operations and events
  • History Functions: Calculation history and memory functions
  • Advanced Operations: Scientific calculator features
  • Configuration System: User preferences and settings

Phase 3 (Future Enhancements)

  • Package Distribution: Homebrew, Scoop, AUR packages
  • Plugin Architecture: Extensibility for custom functions
  • Custom Themes: Visual customization options
  • Unit Conversions: Built-in conversion utilities

๐ŸŽฏ Project Goals

Success Metrics

  • 100+ GitHub stars within first month โœ… (Achieved!)
  • Professional landing page with clear demo
  • Complete documentation with screenshots and installation guide
  • Multi-platform releases (Windows, macOS, Linux) โœ…
  • First community contribution

Target Users

  • Terminal Power Users: Developers, system administrators, DevOps engineers
  • Cross-Platform Professionals: Users working across multiple operating systems
  • Calculator Enthusiasts: Users who appreciate well-designed, efficient tools

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿค Contributing

We welcome contributions! Please see our contribution guidelines and feel free to:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new functionality
  5. Submit a pull request

๐Ÿ“ž Support

๐Ÿ™ Acknowledgments

  • Built with Go for performance and cross-platform compatibility
  • Inspired by the need for better terminal-based calculation tools
  • Thank you to all contributors and users who help improve AcoustiCalc

AcoustiCalc - Calculating the future of terminal productivity, one expression at a time.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •