Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mikolasan/forgottenstandards
Historic unit converter
https://github.com/mikolasan/forgottenstandards
kotlin-android unit-converter
Last synced: 1 day ago
JSON representation
Historic unit converter
- Host: GitHub
- URL: https://github.com/mikolasan/forgottenstandards
- Owner: mikolasan
- License: mit
- Created: 2018-07-13T05:22:05.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-09-12T23:49:49.000Z (2 months ago)
- Last Synced: 2024-09-13T12:57:10.174Z (2 months ago)
- Topics: kotlin-android, unit-converter
- Language: Kotlin
- Homepage: https://play.google.com/store/apps/details?id=io.github.mikolasan.imperialrussia
- Size: 11.8 MB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Imperial Russia
[![codebeat badge](https://codebeat.co/badges/6c7aecaf-b5ce-4dec-b2d3-3e296e5f80e7)](https://codebeat.co/projects/github-com-mikolasan-imperialrussia-master)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/9e76b5d0b6f2445d8518ab9d8f5074f6)](https://www.codacy.com/manual/SaturdaysCode/ImperialRussia?utm_source=github.com&utm_medium=referral&utm_content=mikolasan/ImperialRussia&utm_campaign=Badge_Grade)
[![Maintainability](https://api.codeclimate.com/v1/badges/82c2c173a30872b4d741/maintainability)](https://codeclimate.com/github/mikolasan/ImperialRussia/maintainability)![header](./app/src/main/res/mipmap-xxxhdpi/ic_launcher.png)
**Imerial Russia** is a historic unit converter app for Android
It also includes simple arithmetic calculator.
Written in Kotlin. Minimum supported Android version is 4.4.
## Roadmap
- Another unit types: volume, weight
- Slavic calendar
- ...## Download
## About
If you are reading a literary book about 18th century, or studying history, or you feel limited with the standard units of measurements, or by any other means find yourself curious about historic units used one or two centuries ago, like when it was time of Russian Empire, then this app might take you interest.
Jump into the new world measured by arshin, versta, sazhen. Measure like Russian.
## Privacy policy
See [this privacy policy](https://neupokoev.xyz/projects/imperial-russia/privacy-policy) for details.
## Screenshots
|Main screen 1|Main screen 2|Landscape mode|
|---|---|---|
![](./playstore/2.0/phone_3_cool.png)|![](./playstore/2.0/phone_2_cool.png)|![](./playstore/2.0/phone_4.png)## For developers
### Architecture
- [Kotlin](https://kotlinlang.org/)
- [KotlinPoet](https://square.github.io/kotlinpoet/) for genereting complete graph of conversions
- ViewPager
- RecyclerView
- Simple [recursive descent parser](https://en.wikipedia.org/wiki/Recursive_descent_parser) in the calculator
- SharedPreferences for persistancy
- [Markwon](https://noties.io/Markwon/) Markdown library without WebView requirement
- [Observer pattern](https://en.wikipedia.org/wiki/Observer_pattern) used in the Main Activity. Child fragments call method in the activity and depending on the layout if other fragments exist, then the message will be delivered to them.
- Different layouts: landscape (no main panels), tablet landscape (additional info panel), portrait, spacious portrait (additional info panel). Smart watch and auto layouts are in the roadmap.### How to use Ratio Generator
To generate just for one unit type:
```
set unit=Angle
gradle -PimperialUnits=%unit%Units.kt ratiogenerator:runRatioGenerator --args="--className io.github.mikolasan.ratiogenerator.Min%unit%Units --objectName %unit%Units"
```Generate for all units:
```shell
generate_units.bat
```## License
MIT