A personal project in an attempt to replicate Microsoft Windows 10 built-in calculator.
The project currently supports:
- Standard Calculator (supports nested expressions)
- Scientific Calculator (advanced arithmetic operations)
- Currency Converter (pulling live exchange rate from web APIs such as fixer.io)
- Unit Converters (e.g. Angle, Time and Temperature converter, etc. Unit conversion is implemented using UnitsNet)
The source code is unit-tested using MSTest and Moq. Each integrated component is also integration-tested.
For more information on the overall design and technical details of the project, please refer to the wiki page for better clarification.
The main purpose of this project is to enhance the author's overall skill of:
- software design (not UX design)
- applying design patterns (if applicable)
- applying SOLID principles (when applicable)
- software testing
- software documentation
Through replicating, the author can fully concentrate on overall requirement, design and implementation of a practical software.
The application lacks the ability to handle big numbers. The author will seek to add big number support and deal with related performance issues due to big number handling.
Copyright (c) 2018 Yi Zhang
The project is intended for personal use only and therefore a license is not provided. Should the owner of original software (windows 10 built-in calculator) request the author to take down the project due to replicated UI, please open an issue in this repository or contact the author at scaccterran@gmail.com, and the author will take down the replicated portions immediately.