Server-Side Kotlin with Ktor 路 Conclusion | raywenderlich.com


This is a companion discussion topic for the original entry at https://www.raywenderlich.com/2885892-server-side-kotlin-with-ktor/lessons/34

This is the most amazing course on backend programming I鈥檝e ever seen. Thank you, guys.

Thanks for the kind words, @zsoltkiss! We鈥檙e glad you liked the course!

Hi!
First of all, congratulations, excellent course.
But I have some doubts.
1 - why in add function did you use transaction instead of dbQuery?
2 - How can I create with exposed, compound keys?
3 - Is there a way that you indicate as the best, for validations?
4 - Would you advise using the Arrow lib with ktor?

Thanks for the comments and questions, @omag0! For your questions:

  1. I could have used dbQuery in add instead of transaction, and I鈥檓 pretty sure I switched over to it by the end of the course. I think dbQuery is the better choice for sure.
  2. The Exposed framework is still pretty new, at version 0.13.6. You can check the docs at GitHub - JetBrains/Exposed: Kotlin SQL Framework to see if compound keys are supported, and if not, maybe look in the GitHub issues list and +1 the issue if it exists, or add a new one.
  3. For validations, it鈥檚 probably best to create some type of Validator interface that requests get routed through. That was beyond the scope of this course. You can also look into libraries like GitHub - making/yavi: Yet Another Validation for Java (A lambda based type safe validation framework).
  4. Arrow is a great library for sure and it would be really nice to see it used with Ktor. I assume it is compatible. Maybe we鈥檒l explore this in future tutorials or courses.

Thanks again for the comments and questions!