Calculator
A Simple but elegant Calculator app made with Flutter using Google's Material Design with Currency (Exchange Rate) and Unit Converter.
Download APK
Universal Release
arm64
armabi
Source Code (zip)
Source Code (tar.gz)
👨🎓
Things We learned through this project
Navigation and Routing
- Flutter Navigator is just a stack with special methods like (pushNamed, pushReplacement, etc).
- Screens/Routes are just widgets.
- Navigation from one route to another defines workflow of application.
State Management
- Stateless/Statefull widgets.
- Flutter reflects its UI by reflecting current state.
- State is read while widget is built and can be changed using setState() for Stateful widgets.
Object Oriented Approach
- Handling various functionalities by binding them in Class and creating Objects of them.
- Reusability of Code, Reducing Redundancy.
Use of 3rd Party Packages
- Use of external packages provide application with variety of usefull functionalities.
- Make Application Standout.
Dependencies Used
http: ^0.13.4
flutter_neumorphic: ^3.2.0
font_awesome_flutter: ^10.1.0
rflutter_alert: ^2.0.4
url_launcher: ^6.1.5
📱
App UI
Click here to expand
Directory Structure
calculator
|
|-- assets
| |-- fonts
| | |-- Montserrat-Regular.ttf
| | `-- PTSans-Regular.ttf
| |
| `-- images
| |-- app_icon.png
| `-- github.png
|
|-- lib
| |-- brain
| | `-- calculator_brain.dart
| |
| |-- models
| | |-- area.dart
| | |-- currency.dart
| | |-- data.dart
| | |-- length.dart
| | |-- power.dart
| | |-- pressure.dart
| | |-- speed.dart
| | |-- volume.dart
| | `-- weight.dart
| |
| |-- screens
| | |-- about_screen.dart
| | |-- area_conversion_screen.dart
| | |-- calculator_screen.dart
| | |-- data_conversion_screen.dart
| | |-- exchange_rate_screen.dart
| | |-- length_conversion_screen.dart
| | |-- power_conversion_screen.dart
| | |-- pressure_conversion_screen.dart
| | |-- settings_screen.dart
| | |-- speed_conversion_screen.dart
| | |-- unit_converter_screen.dart
| | |-- volume_conversion_screen.dart
| | `-- weigth_conversion_screen.dart
| |
| |-- utils
| | |-- constants.dart
| | `-- money_converter.dart
| |
| |-- widgets
| | |-- bottom_sheet_tile.dart
| | |-- field_list_tile.dart
| | |-- keypad_builder.dart
| | |-- round_button.dart
| | |-- scrollable_sheet.dart
| | |-- unit_box.dart
| | |-- unit_icon.dart
| | `-- url_launcher.dart
| |
| `-- main.dart
|
`-- pubspec.yaml
Building from Source
- If you don't have Flutter SDK installed, please visit official Flutter site.
- Fetch latest source code from master branch.
rajput-hemant@arch:~$ git clone https://github.com/rajput-hemant/calculator
- Run the app with Android Studio or VS Code. Or the command line:
rajput-hemant@arch:~$ flutter pub get
rajput-hemant@arch:~$ flutter run