강의

멘토링

커뮤니티

Programming

/

Web Development

[Java実務プロジェクト上級編] Spring Core + H2ベースのフードトラックキオスクシステム制作

実務感覚を身につけたい入門開発者のためのJava深化プロジェクト講義! Spring Core、JdbcClient、H2 DBで構成されたコンソールベースのキオスク注文システムを一緒に作っていきます。

難易度 初級

受講期間 無制限

  • Kevin
Java
Java
Spring Boot
Spring Boot
DDD
DDD
h2db
h2db
spring-framework
spring-framework
Java
Java
Spring Boot
Spring Boot
DDD
DDD
h2db
h2db
spring-framework
spring-framework

受講後に得られること

  • 要求事項を分析し、機能単位で整理して構造化する方法

  • 顧客/管理者観点のコンソール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で直接実装することができます。

⭐なぜ注文ドメインを知る必要があるのか?

「注文」ドメインは、コマース、配達アプリ、予約システム、キオスク、POSシステムなど
ほとんどの実務アプリケーションにおいて欠かすことのできない核心機能です。


単純に「商品をカートに入れて決済する」というレベルを超えて、以下のような複雑なビジネスロジックがこの中にすべて含まれています。

  • ユーザー/管理者観点のフロー分離

  • ショッピングカート → 決済 → 注文ステータス変更 → 配送/注文処理完了

  • 注文の修正、キャンセル、返品などの状態遷移処理

  • 決済連携とレスポンスフロー管理

  • 注文履歴および統計処理

このような「注文フロー」を直接設計し実装した経験は
単純なCRUDではない「本物のアプリケーション」を作ることができる開発者として成長するための重要な足がかりとなります。


この講義を通じて「注文ドメインに関する基礎」をマスターしましょう。

Javaデベロッパーになるための皆さんに翼をつけてくれると確信しています。

🧱 講義の特徴

  • プロジェクトベースの実習中心:
    単純な模倣ではなく、与えられた要求事項に従って受講生がまず考えて実装してみる実習中心の構成です。

  • 事前学習 → 直接実装 → 実装説明方式で進行:
    講義で必要な技術があれば別途授業で概念を先に押さえ、
    受講生が先に実装した後、講師版のコードと説明で比較学習します。

  • 実務志向設計:
    要件分析から構造化、実装、テストまでの全過程を実務の流れに合わせて体験できるよう構成しました。

✨ 受講後の成長ポイント

  • Java + Spring Coreで構成されたドメイン中心の思考力向上によるアプリケーション実装経験の確保

  • 実装力・設計力向上によるバックエンド実務感覚の習得

  • Webアプリケーション開発のための基礎体力強化

  • 単純な文法ではなく実際のプログラムを作ることができるという自信の獲得

👀[ハイライト映像プレビュー] 設計から実装まで

🎬 「要件分析段階」ハイライト映像


🎬 「アプリケーション設計段階」ハイライト映像

🎬 「レイヤー別基本構造作り」ハイライト動画

🎬 「ゲストモードレイヤー別ロジック実装」ハイライト動画

🎬 「コードリファクタリング」ハイライト動画

🧰 使用技術スタック

  • Java 17+

  • Spring Framework Core

  • Spring JdbcClient

  • H2インメモリデータベース

  • JUnitテストフレームワーク

  • Domain-Driven Design (DDD) ベース設計

  • レイヤードアーキテクチャ構造

👨‍🏫 このような方におすすめします

  • Java文法は知っているが実戦プロジェクト実装には自信がない方

  • Spring Coreを学習したが、直接応用した経験が不足している方

  • コンソールベースで実際に動作するアプリケーションを作ってみたい方

  • Java バックエンド開発者として基礎をしっかりと固めたい方

  • 1部の講義を受講して、より複雑なシステム実装をやってみたい方

❤️ 講師の真心

この講義は単純な「コードの写経」から脱却し、アプリケーションを直接設計・実装しながら自分だけのアプリケーションを完成させる経験をお届けするために準備いたしました。

どんなに良い技術でも、自分自身で悩みながら活用できなければ「華やかな花火大会を呆然と眺めるだけで、感動的なその気持ちを外に表現できないこと」と同じだと思います。


コードを眺めているだけではなく、実務で皆さん自身が「コードを書ける人」になるための第一歩となるよう、最後まで支援いたします。

Java開発者になるという夢を諦めずに、最後まで最善を尽くして必ず開発者として入門できることをお祈りしています!

✅ 何か気になることはありますか?

Q. 1部の講義を受講していませんが、この講義だけ聞いても大丈夫でしょうか?

可能です。

ただし、この講義は1部よりも複雑な構造と技術が含まれているため
基礎的なコンソールアプリケーション実装フローと要件分析の経験がない場合は、1部受講後に進めることをお勧めします。

Q. JdbcClientは初めて聞くのですが、難しくないですか?
JdbcClientはSpring 6.1から新しく導入された機能で、既存のJdbcTemplateよりも簡潔で直感的です。

講義で使い方を一つ一つ丁寧に説明いたしますので、ご心配いただく必要はありません。

Q. コンソールプロジェクトですが、あまりにも単純すぎませんか?
単純なCRUDを超えて、注文状態管理、ユーザー/管理者の役割分離、統計機能など
実際のWebベースシステムでもそのまま活用可能な構造と設計を体験していただけます。

実装してみればお分かりになると思いますが、思っているほどそれほど単純ではありません。

Q. このプロジェクトをポートフォリオとして活用してもよろしいでしょうか?
もちろんです。

注文に関連するドメインはWebベースのサービスでよく見られるドメインであるため、この分野のドメインを理解することは重要だと思います。

不便な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に対応するGradleバージョンが7.3であるため、両者のバージョンを合わせておきました。

      • バージョンの互換性で問題が発生する場合は、Java Compatibilityを参考にして、できるだけバージョンを合わせていただければと思います。

    • JUnit 5(最小仕様)以上

注意事項

  • 講義で使用される学習資料およびコードをブログなど個人スペースで使用される場合は、講義タイトルおよび講師名を記載し、講義リンクを追加していただく必要があります。その他の無断配布は許可されませんので、ご了承ください。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • Java文法は習得したが、実戦アプリケーションを作った経験がない方

  • Spring Coreの基本概念は知っているが、直接適用した経験が不足している方

  • 実務のように要求事項を分析し、設計から実装まで全体の流れを体験してみたい方

  • 単純なCRUDを超えて状態変化とドメイン流れを制御するロジックを学びたい方

  • 1部の講義を受講し、より複雑な構造と技術を学びたい方

  • Webアプリケーション開発前に、コンソールプロジェクトで基礎体力を身につけたい方

  • プロジェクトを実装しながら「このコードはなぜこのように書いたのだろう?」を考えてみたいジュニア開発者

前提知識、
必要でしょうか?

  • Java文法とOOP基本概念

  • Spring Core使用経験(Bean登録、DI等)

  • JDBC または SQL 基本概念

  • 簡単なコンソールプロジェクト実装経験

こんにちは
です。

6,457

受講生

254

受講レビュー

109

回答

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と申します。^^

Inflearnでこうして講師として皆様にお会いできて、とても嬉しく思います。

どの分野も同様だと思いますが、特にソフトウェア開発者は、絶えず変化するトレンドに遅れないよう常に自分自身を磨き続けることが、開発者として生き残る唯一の方法だと考えており、常に学ぶ姿勢で楽しくソフトウェア開発を行っている開発者の一人です。

自分の持っている知識と経験が、他の方々に少しでもお役に立てればという思いで、Inflearn(インフラン)で講座を始めました。

これからも受講生の皆様に、実務で役立つ様々な講座を通して定期的にお会いできるよう努めてまいります。ありがとうございました。

 

質問や意見はいつでも歓迎ですので、メール(it.village.host@gmail.com)でお気軽にご連絡ください。

様々な講座で、これからも定期的にお会いできるよう努めてまいります。ありがとうございます。ご質問やご意見はいつでも歓迎ですので、メール(it.village.host@gmail.com)でお気軽にご連絡ください。

カリキュラム

全体

45件 ∙ (10時間 35分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

2件

5.0

2件の受講レビュー

  • abcd123123님의 프로필 이미지
    abcd123123

    受講レビュー 327

    平均評価 5.0

    5

    10% 受講後に作成

    • webu0님의 프로필 이미지
      webu0

      受講レビュー 17

      平均評価 5.0

      5

      100% 受講後に作成

      ¥6,809

      Kevinの他の講座

      知識共有者の他の講座を見てみましょう!

      似ている講座

      同じ分野の他の講座を見てみましょう!