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

RackaApps/Thinkrchive-Multiplatform

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