인프런 영문 브랜드 로고
인프런 영문 브랜드 로고
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) 116 reviews

1,981 students

Kotlin
Spring Boot
Java
Refactoring
Spring
Thumbnail

This course is prepared for Basic 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 backend! 👩‍💻
Learn Java + Spring Boot Refactoring.

Now, why Kotlin ?

Easy and concise
cord

It's definitely improved
Null stability

With existing Java
Perfectly compatible

Nekaraku Cup is already introducing Kotlin!
Kotlin is emerging as an attractive server development language to replace Java .

In this lecture 🔥

We will completely refactor a pre-built book management application in Java + Spring Boot to Kotlin + Spring Boot . After all the refactoring is done, we will implement the following three business requirements and one technical requirement on top of the Kotlin server.

Through this process, you can think about various considerations required from a design and implementation perspective , and learn about the trade-offs and pros and cons of various methods and additional technologies . If you are a backend developer who wants to get ahead, let's take on the challenge together!

4-Step Requirements to Challenge in Class ✅

First additional requirement

Allows you to categorize and select a field when registering a book.

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 apply 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 that server developers need to have are truly diverse. However, general lectures focus on 'specific topics', making it difficult to understand which part of the competency is being covered and what additional competencies need to be acquired. In this lecture, we have tried to incorporate all the prerequisite knowledge required to take the lecture into the lecture content .

In future lectures added to the roadmap, we will not repeat the content of previous lectures, but will structure them so that they can explain from the beginning, step by step, any content that has not been covered in previous lectures.
For more detailed information, please check out the “Lecture Introduction Video” which is open for free~! 😊


The curriculum
Check it out 📚

Section #1.
Kotlin Spring Junit5

  • Learn how to set up your computer to use Kotlin.
  • Let's take a look at what testing is and why it's important.
  • Learn the basics of using 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 methods 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 will 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 location considerations and the pros and cons of each choice.
  • Learn how to write test code as you add 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 applications and DBs and understand their 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 will provide you with a 142-page handbook and a 468-page PPT that perfectly summarizes 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 have prepared various visual aids to help you understand the lecture content!

Point 4

Level up your real-world server development!

We'll write code together, in a hands-on class.
We will complete the refactoring and even implement additional requirements!


Great lectures to watch together 📺

Average rating 5.0! Check out the vivid class reviews 🚩

In this lecture, we also carefully covered how Java + Spring Boot changed from Kotlin + Spring Boot and what it means. We hope you successfully get started with 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

9,044

Students

559

Reviews

709

Answers

5.0

Rating

6

Courses

안녕하세요 😊

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

 

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

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

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

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

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

 

Curriculum

All

48 lectures ∙ (6hr 22min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

Not enough reviews.
Become the author of a review that helps everyone!