Server-Side Kotlin with Ktor · Conclusion |

This is a companion discussion topic for the original entry at

This is the most amazing course on backend programming I’ve ever seen. Thank you, guys.

Thanks for the kind words, @zsoltkiss! We’re glad you liked the course!

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’m 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 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’s 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
  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’ll explore this in future tutorials or courses.

Thanks again for the comments and questions!