Real-world! Developing a library management application with Kotlin and Spring Boot (Refactoring a Java project)
We will refactor a web application built with Java + Spring Boot to Kotlin + Spring Boot and implement additional requirements. In the process, we will use Junit5, SQL, JPA, and Querydsl, and cover the pros and cons of various methods from the design and implementation perspectives.
It's so great! It was so refreshing that you even addressed the part I always wondered about (writing the constructor explicitly)! LOL Thank you for making such a great lecture <3 !!!!!
5.0
asebn1
96% enrolled
It was great! Thank you for the great lecture!
5.0
김진호
96% enrolled
It's so good!
What you will gain after the course
How to use Kotlin + Spring Boot + JPA together
Testing Basics (Junit5) and How to Use Querydsl Using Kotlin
Understanding the different ways to implement requirements and the trade-offs
The Rising Trend: Kotlin Backends! 👩💻 Learn Java + Spring Boot refactoring.
Now, why Kotlin ?
Easy and concise cord
It's definitely improved Null stability
With existing Java Fully compatible
The Nekaraku Cup is already introducing Kotlin! Kotlin is emerging as an attractive server development language to replace Java .
In this lecture 🔥
We'll completely refactor a pre-built book management application built with Java and Spring Boot to Kotlin and Spring Boot . After completing all refactoring, we'll implement the following three business requirements and one technical requirement on top of the Kotlin server.
This process will allow you to consider various design and implementation considerations , learn about the trade-offs and pros and cons of various methods, and explore additional technologies . If you're a backend developer looking to advance, let's take on the challenge together!
4-Step Challenge Requirements for the Lecture ✅
First additional requirement
When registering a book, you can select and categorize the field.
Second additional requirement
Shows user loan status and history.
Third additional requirement
Shows statistics on books currently rented and registered.
Fourth additional requirement
Let's try applying QueryDSL as a replacement for JPQL.
To these people I recommend it 👩💻
✅ Anyone who has created a very simple CRUD API with Java + Spring Boot + JPA at least once!
✅ Anyone who knows basic Kotlin grammar !
The knowledge and skills required of a server developer are truly diverse. However, typical lectures often focus on specific topics, making it difficult to understand which areas of competency are covered and what additional skills are required. In this course, I've strived to incorporate all the necessary prerequisite knowledge into the lecture content .
Lectures added to the roadmap in the future will not duplicate content from previous lectures, but will be structured to provide step-by-step explanations of content not covered in previous lectures from the beginning. For more detailed information, please check out the free “Lecture Introduction Video”! 😊
The curriculum Check it out 📚
Section #1. Kotlin Spring Junit5
Learn how to set up Kotlin.
Let's take a look at what testing is and why it's important.
Learn the basics of Junit5 and how to write tests using Junit5 and Spring Boot together.
Let's write tests for the book management application API.
Section #2. Kotlin Spring JPA (1)
Learn various refactoring techniques by refactoring Java Spring Boot to Kotlin Spring Boot.
Learn how to use Kotlin + Spring + JPA together and what to watch out for.
Covers how to leverage Kotlin's language features in Spring applications.
Section #3. Kotlin Spring JPA (2)
We'll look at two ways to manage Type, Status, etc. on the server, and their pros and cons.
Covers the need for and configuration of Text Fixtures.
Learn how to leverage Enum + JPA + Spring Boot in Kotlin.
Section #4. Kotlin Spring JPA SQL
When adding new features, consider the considerations around location and the pros and cons of each choice.
Learn how to write test code when adding complex features.
Understand inner join and left join in SQL, and use fetch join to solve the N + 1 problem.
Section #5. Kotlin Spring SQL
Understand the various features of SQL and become familiar with concise functional programming techniques.
Implement the same functionality in an application and DB, and understand the features, pros and cons.
Section #6. Kotlin Spring QueryDSL
Learn about the pros and cons of JPQL and QueryDSL.
Understand QueryDSL with Kotlin + Spring Boot, and understand the pros and cons of the two approaches.
Learn the basics of using QueryDSL.
Let's refactor an existing repository using QueryDSL.
Prepared for our students Key points of this lecture 🔑
Point 1
Lecture materialsfor unlimited review
We provide a 142-page handbook and a 468-page PPT that perfectly summarize the lecture content.
Point 2
Focus on server development
We provide a web UI for your book management application so you can focus on server development.
Point 3
Detailed explanations to help you understand
We've prepared a variety of visual aids to help you understand the lecture content!
Point 4
Level up your real-world server development!
We'll write code together, as befits a hands-on class. We will complete the refactoring and even implement additional requirements!
A great lecture to watch together 📺
Average rating: 5.0 stars! Check out vivid student reviews 🚩
This lecture also thoroughly covers how Java + Spring Boot changes from Kotlin + Spring Boot, and what the implications are. We wish you a successful introduction to Kotlin server development ! 💪
Recommended for these people
Who is this course right for?
Anyone who wants to develop web applications with Kotlin
Anyone who wants to learn about the various options and their pros and cons in the web application development process.
Need to know before starting?
You should know the basic grammar of Java and Kotlin!
You should have created a very simple CRUD API with Spring Boot!
We will explain everything except essential player knowledge!
Hello This is
10,881
Learners
834
Reviews
797
Answers
4.9
Rating
6
Courses
안녕하세요 😊
제가 아는 내용을 이해하기 쉽고, 재미있게 설명드려 여러분들이 성장하실 때 행복함을 느끼는 개발자 최태현입니다.
(현) 캐치테이블[와드] 소프트웨어 엔지니어
(전) 스타트업 소프트웨어 엔지니어 리드
(전) 배달의민족[우아한형제들] 소프트웨어 엔지니어
(교육활동) Next Step 리뷰어 다수 참여, 공기관 & 스타트업 경진대회 강사 및 멘토, 스파르타 코딩클럽 멘토
It's so great! It was so refreshing that you even addressed the part I always wondered about (writing the constructor explicitly)! LOL Thank you for making such a great lecture <3 !!!!!
Hello~!!! Humble Yohann ㅎㅎㅎㅎ Oh my~ Thank you for the good review ㅎㅎㅎ I will continue to work hard to create good content in the future!! Have a good day today!!! 🙏
Hello! asebn1!!! Wow~~~ You completed it so well ㅎㅎㅎㅎ Congratulations~!!! 🎉🎉 I hope you have a precious and happy day today after completing all the lectures! Thank you~ 😊
I am writing a review after listening to half of the lecture.
I will be working at a company that I will be joining soon and I happened to come across Kotlin through jojuldu's recommendation, but I think I am learning a lot.
I think there are many people who have worked on test code, Enum, fetch join, and QueryDSL while working on personal projects, but there are many things to learn from the instructor's coding style, so I recommend it.
And you can learn how to apply theories such as Kotlin's extension functions in this way.
Also, the instructor is very kind in giving answers.
I haven't listened to Kotlin Introduction for Java Developers yet, but I definitely want to listen to this lecture later.
Thank you for the quality lecture~
Hello~ j-nim!! Oh my~ Thank you so much for leaving a great review!!! ☺️ I also liked that j-nim left many sharp and interesting questions!! I will continue to work hard to create good content! Thank you!!! 🙏
I'm taking this class because I've listened to about 1/3 of the lecture and want to write a review quickly!
I'm taking this class right at the moment when I want to start a spring project after listening to the previous java to kotlin lecture.
As expected, the explanations are very good, and the process of changing a Java spring project to Kotlin spring seems easier and more intuitive.
The only regret is that the comments you made at the end of the lecture are gone. Thank you for the great lecture.
Oh my, hello~ Heekng Ko ㅎㅎㅎㅎ First class review!!! Thank you so much~~ 😊 The comments I used to make at the end of each lecture were long, around 1 minute long, so I only did them in the last lecture of the section ㅎㅎㅎㅎ It was kind of a trademark, but I also felt regretful~
I respect and admire Heekng Ko, who has already listened to 1/3 of the way, and I hope you finish it!!! 🔥 Thank you~!!