CalcSim


CalcSim is a cross platforms mobile application that simulates the functionalities of a calculator. In addition, CalcSim also supports modulus calculations which is convenient mostly in converting numbers between different bases.


Mobirise

As the application is a calculator simulator, it provides all basics functionalities of a calculator. Besides, it also provides a functionality of calculating modular, which is convenient as it's not on every calculator.

Summary

  • Context
  • CalcSim is a personal project developed during the Spring of 2021. The application was implemented with Flutter and Dart language to support both user interface and back-end logic of handling calculations. This application makes uses of a very simple library provided by Dart, which is the materials library to support the UI display.

  • Role
  • As CalcSim is a personal project, I took the steps of designing and implementing the graphical user interface then coming up with the logic to parse and handle inputted calculations.

  • Delivery
  • The project is delivered will all basics functionalities of calculating addition, subtraction, multiplication, division and modular. The challenges while I was working this project were to sanitize user's inputs, parsing the calculation correctly and display it synchronously on the graphical interface.

    Technologies

    Flutter/Dart

    Supports the logic of parsing user's input, calculate and display of the application.

    Analysis

  • Strengths
  • I evaluate that I did well on learning and following the Dart/Flutter's structures and layouts of the widgets. I also did well on parsing user's input to handle the calculations correctly. Beside technical skills and implementation, I also did well on learning a new programming language and the concept of cross platform applications.

  • Skills Reflection
  • By working on this personal project, I was able to gain my knowledge on the Flutter/Dart programming language and the concept of cross platform applications. I was also given an opportunity to learn and apply the structures of widgets, which I did not have a chance to touch on in school. Besides gaining new skills and knowledge, I also improved my old skills of problem solving and basics programming.

  • Project Reflection
  • What went well while working on this project was the experience of learning new programming language and the concept of cross platform applications. I was able to learn new technologies to enlarge my knowledge and better up my career path. From the experience I had while working on this project, I would improve the knowledge on how to change the font and color of widgets as it would help styling the application better.

    Mobirise

    The capture above shows the functionality of handling big multiplication. This is to test whether the application is parsing input correctly and capable of handling big numbers and calculations.