An app showing all details for various Lenovo Thinkpad models, using Kotlin
? ThinkRchive
Light | Dark |
---|---|
An app showing all details for various Lenovo Thinkpad models. Made to try out Jepack Compose for Android.
This repo is a Mutliplatform version of the initial Thinkrchive which was Android-centric
✨ Demo
? Screenshots
? Install
Platform | Download | Status |
---|---|---|
Android | ? Beta | |
Desktop – Windows | ? Experimental | |
Desktop – macOS | ? Experimental | |
Desktop – Linux | ? Experimental |
ℹ️ Compose Debug apks are sometimes laggy as they contain a lot of debug code.
ℹ️ The apk above is a signed release version and should perform as expected.
? Dependency
- Java 11 or above
- Android Studio Bumblebee | 2021.1+
?️️ Built with
Compared to Thinkrchive which was Android-centric
Component | Thinkrchive | Thinkrchive-Multiplaform |
---|---|---|
? User Interface | Jetpack Compose | Compose Mulitplatform |
? Architecture | MVVM | MVI – Not Completed Yet |
? Backend | Thinkrchive Ktor Server | Thinkrchive Ktor Server |
? DI | Hilt | Koin |
?️ Navigation | Compose Navigation | Compose Navigation, Decompose |
? Async | Coroutines + Flow + StateFlow + SharedFlow | Coroutines + Flow + StateFlow + SharedFlow |
? Networking | Ktor Client | Ktor Client |
? JSON | Kotlin Serialization | Kotlin Serialization |
? Persistance | Room + Preference DataStore | SQLDelight, Preference DataStore, Multiplatform Settings – Future Plan |
⌨️ Logging | Timber | Timber – Android, slf4j + logback, Kermit |
? Image Loading | Coil | Coil |
? Supplimentary | Accompanist | Accompanist |
? Testing | Mockito + JUnit + Robolectric | Not Setup Yet |
? Fun Facts
-
ThinkRchive
originally used a google sheet
as the backend via Retrosheet -
ThinkRchive now uses a custom Ktor powered server client as the backend. The backend is hosted on Heroku
-
I mocked the designs for this app on Figma and the finished app looks better than my initial designs
✅ TODO
- Add more Tests (Unit Tests, UI Tests, Integration Tests)
- Add more features
- Support for more platform
- Fully switch to MVI
? Credits
- Special thanks to @theapache64 for readgen
- Thanks to all amazing people at Twitter for inspiring me to continue the development of this project.
? Contributing
- See CONTRIBUTING
❤ Show your support
Give a ⭐️ if this project helped you!
? License
ThinkRhcive - An app showing all details for various Lenovo Thinkpad models.
Copyright (C) 2021 racka98
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Made With ❤ From Tanzania ??
This README was generated by readgen ❤