https://github.com/erfansn/SiliconeCalculator
๐จ Simple but attractive graphic a calculator built with Jetpack Compose
https://github.com/erfansn/SiliconeCalculator
android architecture benchmark calculator jetpack-compose kotlin mad neumorphism testing
Last synced: about 2 months ago
JSON representation
๐จ Simple but attractive graphic a calculator built with Jetpack Compose
- Host: GitHub
- URL: https://github.com/erfansn/SiliconeCalculator
- Owner: erfansn
- License: apache-2.0
- Created: 2022-05-16T04:48:30.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-05-23T09:20:49.000Z (about 1 year ago)
- Last Synced: 2024-05-23T09:54:38.374Z (about 1 year ago)
- Topics: android, architecture, benchmark, calculator, jetpack-compose, kotlin, mad, neumorphism, testing
- Language: Kotlin
- Homepage:
- Size: 10.3 MB
- Stars: 139
- Watchers: 2
- Forks: 9
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-list - erfansn/SiliconeCalculator - ๐จ Simple but attractive graphic a calculator built with Jetpack Compose (Kotlin)
README

It's a cloned version of the [Apple calculator](https://apps.apple.com/us/app/calculator/id1069511488) with [Jetpack Compose](https://developer.android.com/jetpack/compose), but with more attractive graphics, history for calculations, and dark and light theme support.
Design by [SINTHAI](https://www.behance.net/gallery/130717085/The-calculator-) with a slight change.
## ๐ท Preview
![]()
![]()
![]()
## ๐๏ธ Architecture
The architecture used in this project is [Android recommended architecture](https://developer.android.com/courses/pathways/android-architecture),
which I personally believe is a combination of some layers and principles of three architectures MVVM, MVI and Clean, which makes it great.## ๐งช Testing
For this project, **unit**, **integration**, **end-to-end** tests have been written based on the pyramid test in the Android test [codelab](https://developer.android.com/codelabs/advanced-android-kotlin-training-testing-test-doubles#2), and in addition,
a **benchmark** test has been written for the app startup states to measure the effectiveness of using the Baseline Profile.## ๐ ๏ธ Tech Stack
- **UI layer**
- Jetpack Compose
- ViewModel component
- Constraint Layout
- Compose Navigation
- Material 2
- **Data layer**
- Room database
- Dagger Hilt
- Kotlinx Coroutine
- Mxparser
- Kotlinx datatime
- **Testing**
- Truth
- Turbine
- Mockk
- Robolectric
- Androidx Benchmark
- **Other**
- Profiler
- Desugar jdk libs## ๐ฏ MAD Score
## License
```
Copyright 2022 Erfan Sn
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```