Skip to content

An app showing all details for various Lenovo Thinkpad models. Made to try out Jepack Compose for Android and Desktop. It uses Kotlin Multiplatform to share code.

License

Notifications You must be signed in to change notification settings

ApimorLabs/Thinkrchive-Multiplatform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c0c2bfb Β· Jun 10, 2022

History

85 Commits
Mar 24, 2022
Mar 30, 2022
Jun 10, 2022
Jun 10, 2022
Apr 15, 2022
Mar 19, 2022
Mar 1, 2022
Mar 1, 2022
Mar 1, 2022
Mar 1, 2022
Mar 29, 2022
Jun 10, 2022
Mar 1, 2022
Mar 1, 2022
Mar 1, 2022
Mar 21, 2022

Repository files navigation

πŸ› ThinkRchive

Light Dark
Twitter: rackadev

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

✨ Documentation

🀳 Screenshots

πŸ’» Install

Platform Download Status
Android Download Button πŸ§ͺ Beta
Desktop - Windows Download Button πŸ§ͺ Experimental
Desktop - macOS Download Button πŸ§ͺ Experimental
Desktop - Linux Download Button πŸ§ͺ 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-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

🧐 Fun Facts

βœ… TODO

  • Add more 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

❀ Show your support

Give a ⭐️ if this project helped you!

ko-fi

πŸ“ 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 ❀