Skip to content

A small backend for the Thinkrchive app written in Kotlin with Ktor. It uses Postgresql with a few requests and JWT authentication for admins

License

Notifications You must be signed in to change notification settings

RackaApps/Thinkrchive-Server

Repository files navigation

📡 Thinkrchive Server

Twitter: rackadev

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

❤ 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

Releases

No releases published

Packages

No packages published