π‘ Thinkrchive Server
A small backend for the Thinkrchive app written in Kotlin with Ktor. It uses Postgresql with a few requests and JWT authentication for admins.
β¨ Demo
π Requirements to run
- Java 11 or above
- Intellij IDEA
- Postgresql Desktop Client
ποΈοΈ Built with
Component | Tool |
---|---|
π User Facing Clients | Thinkrchive |
π§ Hosted | Heroku |
π DI | Koin |
π£οΈ Navigation | Ktor Routing + Ktor Locations |
π Async | Coroutines |
π Networking Engine | Ktor Netty Engine |
π Authentication | Ktor JWT |
π JSON | Kotlin Serialization |
πΎ Persistance | Postgresql |
β¨οΈ Logging | Ktor Call Logging |
π§ Supplimentary | Jetbrains Exposed + HikariCP |
π§ͺ Testing | Ktor Server Test ) |
π§ Fun Facts
-
The backend is hosted on Heroku free plan
-
Backend is used by the Thinkrchive Android app
π» Deploying on Heroku
β TODO
- Add more Tests (Unit Tests, Integration Tests)
- Add more features
- Make a Compose for Desktop client to manage admin features
π Credits
- Special thanks to @theapache64 for readgen
- Ktor documentation, awsome place to get started with Ktor
π€ 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 β€