강의

멘토링

커뮤니티

BEST
Programming

/

Back-end

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.

(5.0) 152 reviews

2,265 learners

Level Basic

Course period Unlimited

  • lannstark
Kotlin
Kotlin
Spring Boot
Spring Boot
Java
Java
Refactoring
Refactoring
Spring
Spring
Kotlin
Kotlin
Spring Boot
Spring Boot
Java
Java
Refactoring
Refactoring
Spring
Spring

Reviews from Early Learners

Reviews from Early Learners

5.0

5.0

안전한 오징어

54% enrolled

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 materials for 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 리뷰어 다수 참여, 공기관 & 스타트업 경진대회 강사 및 멘토, 스파르타 코딩클럽 멘토

  • 한국과학기술원 (KAIST) 졸업

 

Curriculum

All

48 lectures ∙ (6hr 22min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

152 reviews

5.0

152 reviews

  • yohaninf [DEL] 231004012956940360님의 프로필 이미지
    yohaninf [DEL] 231004012956940360

    Reviews 7

    Average Rating 5.0

    5

    54% enrolled

    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 !!!!!

    • lannstark
      Instructor

      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!!! 🙏

  • zero13님의 프로필 이미지
    zero13

    Reviews 2

    Average Rating 5.0

    5

    96% enrolled

    It was great! Thank you for the great lecture!

    • lannstark
      Instructor

      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~ 😊

  • naekang님의 프로필 이미지
    naekang

    Reviews 8

    Average Rating 5.0

    5

    96% enrolled

    It's so good!

    • lannstark
      Instructor

      Hello Jinho~!! Oh my~ Thank you for the thoughtful review ㅋㅋㅋㅋㅋㅋㅋ It's so good~!!! Have a happy day!! ☺️

  • junuuu님의 프로필 이미지
    junuuu

    Reviews 3

    Average Rating 5.0

    5

    100% enrolled

    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~

    • lannstark
      Instructor

      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!!! 🙏

  • heekng님의 프로필 이미지
    heekng

    Reviews 10

    Average Rating 5.0

    5

    94% enrolled

    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.

    • lannstark
      Instructor

      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~!!

$59.40

lannstark's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!