Skip to content

A calculator app developed with Flutter capable of parsing mathematical expressions

Notifications You must be signed in to change notification settings

lucas-marianno/flutter_calculator_math_parser

Repository files navigation

Math Expression Calculator

A Flutter Application that includes a Scientific Calculator, Mathematical Expressions Parser, BMI Calculator, Currency Converter, with real time exchange rates, favorites tab and more!

The Math Expression Calculator is, at its core, a Mathematical Expression Parser.

Features:

  • You can input complex math expressions.
  • The parser can evaluate expressions containing Square Root, Power, Multiplication, Division, Subtraction, and Addition.
  • The parser has full support for parentheses, including nesting.
  • The parser recognizes Implicit Multiplications
  • The parser follows the Order of Operations.
  • Used mathematical expression are displayed in history.
  • Users can retrieve previously used math expressions by clicking on them.
  • Users can store and retrieve results using 'MS', 'MC' and 'MR' controls.
  • Users can easily calculate their Body Mass Index.
  • Responsive Design
  • Real-time Currency Converter
  • BMI - Body Mass Index calculator
  • Scientific Notation
  • Language Selection (English, Portuguese, Spanish).
  • Customization (Switch Dark/Light Mode, select accent color).
  • Equation Parser (1st and 2nd-degree).
  • Interest Converter (daily -> monthly -> annual, and vice-versa).
  • Unit Converter (Mass, Length, Speed, etc).
  • OnScreen cursor.
  • Real-time Refactoring.
  • Theme customization (primary color and dark mode).
  • Integration with other apps or services, such as cloud storage, database, google account sign in, etc. (this will not have any practical effects, it will serve only as a study project).
  • Deploy project to PlayStore.

About this project:

The primary objective of this project is to provide a foundation for a career as a Flutter Developer.

The project serves the following purposes:

  • Implement coding techniques, ideas, and concepts acquired during the course of learning.
  • Monitor my progress in the development of the application.
  • Track improvements in Flutter, Dart, and general coding skills.

The Developer:

This entire project was idealized and developed by Lucas Marianno, an enthusiast and aspiring Flutter Developer.

alt text