Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
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) 139 reviews

2,147 learners

  • lannstark
Kotlin
Spring Boot
Java
Refactoring
Spring

Reviews from Early Learners

What you will learn!

  • 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,028

Learners

707

Reviews

761

Answers

5.0

Rating

6

Courses

안녕하세요 😊

제가 아는 내용을 이해하기 쉽고, 재미있게 설명드려 여러분들이 성장하실 때 행복함을 느끼는 개발자 최태현입니다.

 

  • (현) 캐치테이블[와드] 소프트웨어 엔지니어

  • (전) 스타트업 소프트웨어 엔지니어 리드

  • (전) 배달의민족[우아한형제들] 소프트웨어 엔지니어

  • (교육활동) Next Step 리뷰어 다수 참여, 공기관 & 스타트업 경진대회 강사 및 멘토, 스파르타 코딩클럽 멘토

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

 

Curriculum

All

48 lectures ∙ (6hr 22min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

139 reviews

5.0

139 reviews

  • 안전한 오징어님의 프로필 이미지
    안전한 오징어

    Reviews 7

    Average Rating 5.0

    5

    54% enrolled

    너무 좋습니다! 제가 항상 의문을 가졌던 부분(constructor 명시적으로 작성하기)도 말씀해주셔서 너무 시원했어요!ㅋㅋㅋㅋ 좋은 강의 만들어주셔서 감사합니당 <3 !!!!!

    • 최태현
      Instructor

      안녕하세요~!!! 겸손한 요한님 ㅎㅎㅎㅎ 아이고~ 좋은 후기 감사드립니다 ㅎㅎㅎ 앞으로도 좋은 컨텐츠 열심히 만들어볼게요!! 오늘도 좋은 하루 되세요!!! 🙏

  • asebn1님의 프로필 이미지
    asebn1

    Reviews 2

    Average Rating 5.0

    5

    96% enrolled

    완강했습니다! 좋은 강의 감사합니다!

    • 최태현
      Instructor

      안녕하세요! asebn1님!!! 크으~~~ 완강 대단하십니다 ㅎㅎㅎㅎ 축하드려요~!!! 🎉🎉 강의를 모두 완강하신 오늘 소중하고 행복한 하루 되시기 바랍니다! 감사합니다~ 😊

  • 김진호님의 프로필 이미지
    김진호

    Reviews 8

    Average Rating 5.0

    5

    96% enrolled

    너무 좋습니다!

    • 최태현
      Instructor

      안녕하세요 진호님~!! 아이고~ 센스있는 후기 감사드립니다 ㅋㅋㅋㅋㅋㅋㅋ 너무 좋네요~!!! 행복한 하루 되세요!! ☺️

  • junuuu님의 프로필 이미지
    junuuu

    Reviews 3

    Average Rating 5.0

    5

    100% enrolled

    절반정도 듣고 수강평남깁니다. 곧 입사하게 될 회사에서 코틀린을 다루게 되었고 jojuldu님의 추천으로 우연하게 접하게 되었는데 너무 많이 배워가는 것 같습니다. 아마 개인프로젝트를 진행하면서 테스트코드, Enum, fetch join, QueryDSL을 다뤄보신 분들도 많겠지만 그 속에서도 강사님의 코딩 스타일 등 배울점들이 많으니 추천드립니다. 그리고 코틀린의 확장함수 같은 이론을 이런식으로 적용하는구나를 배울 수 있습니다. 또한 강사님이 답변도 너무 친절하게 달아주십니다. 자바 개발자를 위한 코틀린 입문은 아직 듣지 않았는데 추후에 이 강의도 꼭 들어보고 싶네요. 양질의 강의 감사드립니다~

    • 최태현
      Instructor

      안녕하세요~ j님!! 아이고~ 좋은 후기 남겨주셔서 너무 감사드립니다!!! ☺️ 저도 j님께서 날카롭고 흥미로운 질문 많이 남겨주셔서 좋았습니다!! 계속해서 좋은 컨텐츠 만들 수 있도록 노력하겠습니다! 감사합니다!!! 🙏

  • Ian님의 프로필 이미지
    Ian

    Reviews 9

    Average Rating 5.0

    5

    94% enrolled

    1/3 정도 강의 듣고 수강평 빨리 남기고싶어서 남깁니다! 이전 java to kotlin 강의를 듣고 스프링 프로젝트를 시작하고 싶은 찰나에 딱! 강의가 올라와서 수강하고 있습니다. 예상한대로 설명도 너무 잘해주시고, 자바 스프링 프로젝트를 코틀린 스프링으로 변경해주는 과정이 더 쉽고 직관적으로 이해되는 것 같습니다. 아쉬운점은 강의가 끝날때 하시던 멘트가 사라진게 아쉬울 뿐입니다 ㅎㅎ 좋은강의 감사합니다.

    • 최태현
      Instructor

      아이고 안녕하세요~ Heekng Ko님 ㅎㅎㅎㅎ 첫 수강평!!! 너무나도 감사드립니다~~ 😊 매 강의가 끝날 때 하던 멘트는 이번 강의가 1분 내외도 많아 섹션 마지막 강의에서만 하였습니다 ㅎㅎㅎㅎ 나름 트레이드 마크였는데 저도 아쉽더라고요~ 벌써 1/3이나 들으신 Heekng Ko님을 존중하고 존경하며 끝까지 완주하시기 바랍니다!!! 🔥 감사합니다~!!

$59.40

lannstark's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!