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.
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,296
Learners
750
Reviews
780
Answers
4.9
Rating
6
Courses
안녕하세요 😊
제가 아는 내용을 이해하기 쉽고, 재미있게 설명드려 여러분들이 성장하실 때 행복함을 느끼는 개발자 최태현입니다.
(현) 캐치테이블[와드] 소프트웨어 엔지니어
(전) 스타트업 소프트웨어 엔지니어 리드
(전) 배달의민족[우아한형제들] 소프트웨어 엔지니어
(교육활동) Next Step 리뷰어 다수 참여, 공기관 & 스타트업 경진대회 강사 및 멘토, 스파르타 코딩클럽 멘토
절반정도 듣고 수강평남깁니다.
곧 입사하게 될 회사에서 코틀린을 다루게 되었고 jojuldu님의 추천으로 우연하게 접하게 되었는데 너무 많이 배워가는 것 같습니다.
아마 개인프로젝트를 진행하면서 테스트코드, Enum, fetch join, QueryDSL을 다뤄보신 분들도 많겠지만 그 속에서도 강사님의 코딩 스타일 등 배울점들이 많으니 추천드립니다.
그리고 코틀린의 확장함수 같은 이론을 이런식으로 적용하는구나를 배울 수 있습니다.
또한 강사님이 답변도 너무 친절하게 달아주십니다.
자바 개발자를 위한 코틀린 입문은 아직 듣지 않았는데 추후에 이 강의도 꼭 들어보고 싶네요.
양질의 강의 감사드립니다~
1/3 정도 강의 듣고 수강평 빨리 남기고싶어서 남깁니다!
이전 java to kotlin 강의를 듣고 스프링 프로젝트를 시작하고 싶은 찰나에 딱! 강의가 올라와서 수강하고 있습니다.
예상한대로 설명도 너무 잘해주시고, 자바 스프링 프로젝트를 코틀린 스프링으로 변경해주는 과정이 더 쉽고 직관적으로 이해되는 것 같습니다.
아쉬운점은 강의가 끝날때 하시던 멘트가 사라진게 아쉬울 뿐입니다 ㅎㅎ 좋은강의 감사합니다.
아이고 안녕하세요~ Heekng Ko님 ㅎㅎㅎㅎ 첫 수강평!!! 너무나도 감사드립니다~~ 😊 매 강의가 끝날 때 하던 멘트는 이번 강의가 1분 내외도 많아 섹션 마지막 강의에서만 하였습니다 ㅎㅎㅎㅎ 나름 트레이드 마크였는데 저도 아쉽더라고요~
벌써 1/3이나 들으신 Heekng Ko님을 존중하고 존경하며 끝까지 완주하시기 바랍니다!!! 🔥 감사합니다~!!