Light | Dark |
---|---|
An app showing all details for various Lenovo Thinkpad models. Made to try out Jetpack Compose for Android and Desktop. This repo is a Multiplatform version of the initial Thinkrchive which was Android-centric
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.
- Java 11 or above
- Android Studio Bumblebee | 2021.1+
Compared to Thinkrchive which was Android-centric
Component | Thinkrchive | Thinkrchive-Multiplatform |
---|---|---|
🎭 User Interface | Jetpack Compose | Compose Multiplatform |
🏗 Architecture | MVVM | MVI |
🧠 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 |
💾 Persistence | Room + Preference DataStore | SQLDelight, Multiplatform Settings |
⌨️ Logging | Timber | Timber - Android, slf4j + logback, Kermit |
📸 Image Loading | Coil | Coil |
🔧 Supplementary | Accompanist | Accompanist |
🧪 Testing | Mockito + JUnit + Robolectric | Mockk, JUnit, Turbine, Kotlin Test |
-
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
- Add more Tests (UI Tests & Integration Tests)
- Add more features
- Support for more platform
Fully switch to MVI
- Special thanks to @theapache64 for readgen
- Thanks to all amazing people at Twitter for inspiring me to continue the development of this project.
- See CONTRIBUTING
Give a ⭐️ if this project helped you!
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 ❤