🤗

1ヶ月で「Javaで簡単なWebアプリを作れる」+「Dockerで動かす」

に公開

はじめに

1か月後から新しいプロジェクトに参加することになりました!

このプロジェクトは、COBOL/VBからJavaへの言語統一が進められており、私もJavaでの開発を担当する予定です。

ただ…実は私、Javaは未経験なんです

ということで、1ヶ月でJavaを学びながらWebアプリを作成し、Dockerで動かすという計画を立てました。

プロジェクトで必要になりそうなスキル

まだ要件定義中のため確定ではありませんが、以下のようなスキルが求められると想定しています。

Java関連

  • Java文法の基礎
  • オブジェクト指向(OOP)の理解
  • 標準ライブラリ(コレクション、例外処理、ストリームなど)
  • Spring Framework(おそらくSpring Boot)
  • JDBCまたはJPA(Hibernate)
  • 依存管理ツール(MavenまたはGradle)

AWSの基礎

  • EC2 / S3 / RDS / IAMの利用
  • VPCやセキュリティグループの設定
  • コンテナ運用(ECS または EKS)

PostgreSQL

  • 基本的なSQL文
  • スキーマ設計

コンテナ技術(Docker)

  • Dockerfileの作成
  • docker-composeの利用
  • Javaアプリのコンテナ化

最終目標

Javaで「イベント予約・管理システム」を作成し、Dockerで動かす!

作るアプリの機能(最小構成)

管理者側機能

  • イベントの登録(タイトル・日付・会場・定員)
  • 登録済みイベントの一覧表示・編集・削除
  • 予約者の一覧確認

ユーザー側機能

  • イベント一覧の閲覧
  • イベントの予約(ユーザー名・連絡先・人数)
  • 自分の予約履歴の確認・キャンセル

学習&開発スケジュール(1ヶ月)

第1週:Java基礎 & オブジェクト指向

  • Javaの基本文法
  • OOPの基礎理解(クラス、継承、カプセル化など)
  • Entityクラスの設計準備

第2週:Java + DB連携(JPA / JDBC)

  • DB設計(テーブル・リレーション)
  • Spring Boot導入
  • JPA(Repository)を使ったDB操作

第3週:Web画面 or REST API構築

  • Controller層の実装
  • Spring MVC + Thymeleaf もしくは REST API
  • 入力バリデーション

第4週:Docker化・AWS体験・予約機能の追加

  • Dockerでの開発環境構築
  • AWS上でのアプリ稼働テスト
  • 予約機能の追加と動作確認
  • 学習の総まとめとふりかえり

おわりに

Java未経験の私ですが、「とにかく手を動かすこと」を大切に、1ヶ月間しっかり学んでいきたいと思います!

このブログでは、進捗やつまずいたポイントも記録していく予定なので、同じようにJavaを学んでいる方の参考になれば嬉しいです

Discussion