강의

멘토링

커뮤니티

NEW
개발 · 프로그래밍

/

웹 개발

[Java 실무 프로젝트 심화편] Spring Core + H2 기반 푸드 트럭 키오스크 시스템 제작

실무 감각을 키우고 싶은 입문 개발자를 위한 Java 심화 프로젝트 강의! Spring Core, JdbcClient, H2 DB로 구성된 콘솔 기반 키오스크 주문 시스템을 함께 만들어갑니다.

10명 이 수강하고 있어요.

  • Kevin

이런 걸 배울 수 있어요

  • 요구사항을 분석하고 기능 단위로 정리해 구조화하는 방법

  • 손님/관리자 관점의 콘솔 UI를 분리하여 도메인 중심으로 기능을 나누는 방식

  • 복잡한 애플리케이션을 도메인 단위로 설계하는 사고 능력

  • 도메인 기반 설계의 실전 적용

  • Spring Core 환경에서 JdbcClient로 DB를 연동하는 실습 경험

  • 실제 서비스처럼 동작하는 콘솔 기반 주문/판매 시스템 구현 능력

  • 기초적인 CRUD를 넘어서 상태 변화와 흐름을 제어하는 로직 구성 능력

  • 클래스와 record의 역할 구분

  • equals()를 이용한 객체의 동등성/동일성 비교의 실제 활용

  • 템플릿/콜백 패턴을 이용한 공통화 기법

[Java 실무 프로젝트 심화편] Spring Core + H2 기반 푸드 트럭 키오스크 시스템 제작

“Java와 Spring Core를 활용한 주문 시스템 프로젝트로 실무 구현력을 키워보세요!”


이 강의는 콘솔 기반 푸드 트럭 키오스크 애플리케이션을 직접 구현해 보는 실전형 프로젝트 강의입니다.
Java 기본기를 갖춘 입문자나, Spring을 조금 공부했지만 실제 애플리케이션 구현에는 자신 없는 분들을 위해 준비했습니다.
1부에서 배운 기초 프로젝트 경험을 바탕으로, 이번에는 Spring Core, JdbcClient, H2 데이터베이스를 활용하여 보다 복잡한 주문 시스템을 단계적으로 구현하게 됩니다.

이 강의에선 이런 현실적인 푸드 트럭 키오스크를 통한 주문 흐름을 Java와 Spring Core로 직접 구현해 볼 수 있어요.

⭐왜 주문 도메인을 알아야 할까?

‘주문’ 도메인은 커머스, 배달 앱, 예약 시스템, 키오스크, 포스 시스템 등
대부분의 실무 애플리케이션에서 빼놓을 수 없는 핵심 기능입니다.


단순히 "상품을 담고 결제한다"는 수준을 넘어서, 아래와 같은 복잡한 비즈니스 로직이 이 안에 모두 담겨 있어요.

  • 사용자/관리자 관점의 흐름 분리

  • 장바구니 → 결제 → 주문 상태 변화 → 배송/주문 처리 완료

  • 주문 수정, 취소, 반품과 같은 상태 전이 처리

  • 결제 연동과 응답 흐름 관리

  • 주문 이력 및 통계 처리

이러한 ‘주문 흐름’을 직접 설계하고 구현해본 경험은
단순 CRUD가 아닌 "진짜 애플리케이션"을 만들 수 있는 개발자로 성장하기 위한 중요한 디딤돌이 됩니다.


이 강의를 통해 '주문 도메인에 대한 기본기'를 마스터 하세요.

Java 개발자가 되기 위한 여러분에게 날개를 달아줄거라 확신합니다.

🧱 강의 특징

  • 프로젝트 기반 실습 중심:
    단순 따라하기가 아니라, 주어진 요구사항에 따라 수강생이 먼저 고민하고 구현해 보는 실습 중심 구성입니다.

  • 사전 학습 → 직접 구현 → 구현 설명 방식으로 진행:
    강의에서 필요한 기술이 있으면 별도 수업으로 개념을 먼저 짚고,
    수강생이 먼저 구현한 뒤, 강사 버전의 코드와 설명으로 비교 학습합니다.

  • 실무 지향 설계:
    요구사항 분석부터 구조화, 구현, 테스트까지의 전 과정을 실무 흐름에 맞게 경험할 수 있도록 구성했습니다.

✨ 수강 후 성장 포인트

  • Java + Spring Core로 구성된 도메인 위주의 사고력 향상을 통한 애플리케이션 구현 경험 확보

  • 구현력/설계력 향상을 통한 백엔드 실무 감각 익히기

  • 웹 애플리케이션 개발을 위한 기초 체력 강화

  • 단순 문법이 아닌 실제 프로그램을 만들 수 있다는 자신감 획득

👀[하일라이트 영상 미리보기] 설계부터 구현까지

🎬 '요구사항 분석 단계' 하일라이트 영상


🎬 '애플리케이션 설계 단계' 하일라이트 영상

🎬 '레이어 별 기본 구조 잡기' 하일라이트 영상

🎬 '손님 모드 레이어별 로직 구현' 하일라이트 영상

🎬 '코드 리팩토링' 하일라이트 영상

🧰 사용 기술 스택

  • Java 17+

  • Spring Framework Core

  • Spring JdbcClient

  • H2 In-Memory Database

  • JUnit 테스트 프레임워크

  • Domain-Driven Design (DDD) 기반 설계

  • 레이어드 아키텍처 구조

👨‍🏫 이런 분들께 추천드려요

  • Java 문법은 알지만 실전 프로젝트 구현에는 자신 없는 분

  • Spring Core를 학습했지만 직접 응용해 본 경험이 부족한 분

  • 콘솔 기반으로 실제 돌아가는 애플리케이션을 만들어보고 싶은 분

  • Java 백엔드 개발자로서 기초를 탄탄히 다지고 싶은 분

  • 1부 강의를 수강하고 더 복잡한 시스템 구현을 해보고 싶은 분

❤️ 강사의 진심

이 강의는 단순히 ‘코드 따라치기’에서 벗어나, 애플리케이션을 직접 설계하고 구현하면서 나만의 애플리케이션을 완성하는 경험을 드리기 위해 준비했습니다.

아무리 좋은 기술이라도 나 스스로 고민하며 활용할 수 없다면 '화려한 불꽃 축제를 넋을 잃고 바라만 볼뿐 감동적인 그 느낌을 밖으로 표현할 수 없는것'과 같다고 생각해요.


코드를 쳐다만 보고 있는게 아니라 실무에서 여러분들 스스로 ‘코드를 짤 수 있는 사람’이 되기 위한 첫걸음이 될 수 있도록 끝까지 도와드릴게요.

Java 개발자가 되기 위한 꿈을 포기하지 마시고, 마지막까지 최선을 다해 꼭 개발자로 입문할 수 있길 기원하겠습니다!

✅ 궁금한 점이 있나요?

Q. 1부 강의를 수강하지 않았는데 이 강의만 들어도 괜찮을까요?

가능합니다.

다만 이 강의는 1부보다 더 복잡한 구조와 기술이 포함되어 있기 때문에
기초적인 콘솔 애플리케이션 구현 흐름과 요구사항 분석 경험이 없다면, 1부 수강 후 진행하는 것을 권장 드립니다.

Q. JdbcClient는 처음 들어보는데 어렵지 않나요?
JdbcClient는 Spring 6.1부터 새롭게 도입된 기능으로, 기존 JdbcTemplate보다 간결하고, 직관적입니다.

강의에서 사용법을 차근차근 설명드리기 때문에 걱정하지 않으셔도 됩니다.

Q. 콘솔 프로젝트인데 너무 단순하지 않나요?
단순한 CRUD를 넘어서 주문 상태 관리, 사용자/관리자의 역할 분리, 통계 기능 등
실제 웹 기반 시스템에서도 그대로 활용 가능한 구조와 설계를 경험하실 수 있습니다.

구현해 보시면 아시겠지만 생각만큼 그리 단순하지는 않습니다.

Q. 이 프로젝트를 포트폴리오로 활용해도 될까요?
물론입니다.

주문과 관련된 도메인은 웹 기반 서비스에서 흔하게 볼 수 있는 도메인이기 때문에 이 쪽 도메인을 이해하는 것은 중요하다고 생각합니다.

불편한 UI를 가지는 콘솔 기반 주문 시스템을 이렇게 구현할 수 있다는 사실은 반대로 생각하면 "Java의 기본기를 제대로 갖추기 위해 학습을 제대로 했구나" 라는 인상을 줄 수 있기 때문에 좋은 포트폴리오가 될 수 있다고 생각합니다.

💡수강 전 참고 사항

실습 환경

  • 운영 체제 및 버전(OS)

    • PC 환경의 OS라면 어떤 OS든 상관 없습니다.

    • 다만 JDK 17 이상이 설치 가능해야하며, IntelliJ IDE가 실습을 진행하는데 무리 없을 정도의 컴퓨팅 파워(CPU, 메모리 등)를 갖추는 것이 좋습니다.

  • 사용 도구

    • JDK 17(최소 사양)

    • IntelliJ IDE

      • 강의에서 사용하는 IntelliJ IDE는 Ultimate 버전이지만 무료 버전인 Community 버전을 사용하셔도 전혀 문제가 되지 않습니다.

      • IntelliJ IDE가 아니더라도 잘 다루는 코드 편집 툴(Visual Studio Code 등)이 있다면 사용하셔도 무방합니다.

    • Spring Boot 3.x 이상

      • 강의에서는 Spring Boot 3.4.4 버전을 사용하고 있으며 Spring 3.x 버전이면 강의를 수강하는데 문제없습니다.

    • Gradle 7.3(최소 사양) 이상

      • JDK 17에 호환되는 Gralde 버전이 7.3이기 때문에 둘 사이의 버전을 맞추어 두었습니다.

      • 버전 호환성 때문에 문제가 발생한다면 Java Compatibility를 참고하셔서 가급적 버전을 맞춰주시면 좋을 것 같습니다.

    • JUnit 5(최소 사양) 이상

유의사항

  • 강의에서 사용되는 학습 자료 및 코드를 블로그 등 개인 공간에서 사용하시려면 강의 제목 및 강사 이름을 기재하시고 강의 링크를 추가해 주셔야 합니다. 그 외에 무단 배포는 허용되지 않으니 양해 부탁드릴게요.

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • Java 문법은 익혔지만, 실전 애플리케이션을 만들어본 경험이 없는 분

  • Spring Core 기본 개념은 알지만, 직접 적용해 본 경험이 부족한 분

  • 실무처럼 요구사항을 분석하고 설계부터 구현까지 전체 흐름을 경험해 보고 싶은 분

  • 단순 CRUD를 넘어 상태 변화와 도메인 흐름을 제어하는 로직을 배우고 싶은 분

  • 1부 강의를 수강하고, 더 복잡한 구조와 기술을 배우고 싶은 분

  • 웹 애플리케이션 개발 전, 콘솔 프로젝트로 기초 체력을 다지고 싶은 분

  • 프로젝트를 구현하며 “이 코드는 왜 이렇게 짰을까?”를 고민해보고 싶은 주니어 개발자

선수 지식,
필요할까요?

  • Java 문법과 OOP 기본 개념

  • Spring Core 사용 경험 (Bean 등록, DI 등)

  • JDBC 또는 SQL 기본 개념

  • 간단한 콘솔 프로젝트 구현 경험

안녕하세요
입니다.

6,340

수강생

235

수강평

108

답변

4.8

강의 평점

7

강의

- 주력 언어 또는 기술 : Java, Spring Framework, RxJava, Reactor, Spring WebFlux

- (주)코드스테이츠(https://www.codestates.com)에서 Senior Educational Software Engineer(Backend)로 활동
(From 2022.03 To 2024.01.31)

- 프리랜서 개발자 및 강사로 활동(From 2024.02)

- 저서

안녕하세요? Kevin이라고 합니다. ^^

인프런에서 이렇게 강사로서 여러분들을 만나게 되어서 너무 반갑습니다.

어떤 분야든 마찬가지겠지만 특히나 소프트웨어 개발자는 끊임없이 변화하는 트렌드에 뒤처지지 않도록 항상 자기 자신을 갈고 닦는것이 개발자로써 살아남는 유일한 방법이라고 생각하며 항상 배우는 자세로 즐겁게 소프트웨어 개발을 하고 있는 개발자 중 한 명입니다.

제가 가지고 있는 지식과 경험이 다른 분들에게 조금이나마 도움이 되기를 바라면서 인프런에서 강좌를 시작하였습니다.

앞으로 수강생분들에게 현실적으로 도움이 되는 다양한 강좌로 꾸준히 찾아뵙도록 하겠습니다. 감사합니다.

 

질문이나 의견은 언제든지 환영하니, 이메일(it.village.host@gmail.com)로 편하게 얘기해주세요.

 

커리큘럼

전체

45개 ∙ (10시간 35분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!

얼리버드 할인 중

₩35,750

35%

₩55,000

Kevin님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!