Skip to content

Latest commit

 

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

アプリ名

商品・在庫管理アプリ

概要

プロジェクトについて

Spring Boot と Thymeleaf を使用して開発した、商品および在庫を管理する Web アプリケーションです。
未経験からバックエンドエンジニアへの転職を目指す中で、業務で求められる CRUD 処理、在庫ロジック、DB 設計、例外処理などを実践的に学ぶことを目的として作成しました。
"productHome"

URL

Renderの無料枠を使用しているため、起動に30秒ほどお時間を頂いております。
お忙しいところ恐れ入りますが、ご了承いただけますと幸いです。
ポートフォリオ(在庫管理システム)のURL

ユーザー情報

アクセスした際にログイン画面が表示されると思われますが、
以下のテストアカウントでログインすることが可能です。

  • ユーザー名:user、パスワード:user456
  • ユーザー名:admin、パスワード:admin123

使用技術

バックエンド

  • Java 17
  • Spring Boot 3.5
  • Spring MVC
  • Spring Security
  • Spring JDBC

DB

  • PostgreSQL

その他

  • Thymeleaf
  • Bootstrap
  • Docker(開発用のPostgreDBを用意)
  • Maven

機能一覧

  • 商品の登録 / 編集 / 削除 / 一覧表示
  • 在庫数の登録・更新
  • 在庫の増減(入庫・出庫)
  • 商品検索(商品名・カテゴリ)
  • 入庫・出庫の履歴管理
  • ユーザー認証
  • 例外処理(404 / 500)

アーキテクチャ

  • Controller: リクエスト受付、レスポンス返却
  • Sservice: ビジネスロジック
  • Repository: DBアクセス(JDBC)
  • Entity: テーブル対応クラス
  • DTO: 入力バリデーション

データベース設計

テーブル一覧

  • products(商品管理)
  • stock_history(入出庫履歴)
  • user(認証)

在庫の増減を履歴テーブルで管理することで、
過去の入出庫履歴を追跡できる設計にしています。

工夫した点

  • 明示的な SQL 管理(Spring JDBC)
    → 実務で必要な SQL の理解を深めるため、Repository 層で SQL を明示的に記述。
  • 在庫の増減ロジックを Service 層に集約
    → Controller を薄くし、保守性を向上。
  • 例外処理とエラーページの実装
    → 404 / 500 のカスタムエラーページを用意。
  • Dockerを使用し、開発と本番環境の差異を少なくするように意識。

苦労した点

  • Controller/Service/Repositoryの責務分離/設計
  • Thymeleafのフォームバインディング
  • DB設計
  • 開発と本番環境の動作の違いによるエラー

今後の改善点

  • バリデーション強化
  • トランザクション制御
  • 単体テスト(JUnit/Mockito)の追加
  • ページネーション対応

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages