LBP Rate API practice project to learn Kotlin
- ✅ 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