Skip to content

AymanHamdoun/lira-api

Repository files navigation

LBP Rate Api

LBP Rate API practice project to learn Kotlin

Main Tasks To Practice

  • ✅ scrape LBP Rate using Jsoup
  • ✅ Store & retrieve the data from a json file (by serializing data classes to json using kotlinx.serialization)
  • ✅ Implement an HTTP server using Ktor
  • ✅ Serve the content of the JSON file to the /rate route
  • ✅ Have the scraping job run every 5 minutes
  • ✅ Implement logging using Logback through SLF4J (which comes already with Ktor)
  • ✅ Dockerize the project
  • ✅ Implement Basic Database functionality (With Repositories & Models)
  • Return Updated at for /rates based on timezone of the client
  • Add a cache layer (preferably Redis) to the Repository Getters
  • Allow User Registration and give them Auth Keys
  • Only Accept GET requests if a valid Auth key exists in a certain header
  • Include a rate limit of 10 requests per minute for each auth key
  • Run the project on kubernetes

About

LBP Rate API practice project to learn Kotlin

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages