0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

美容クリニック在庫管理システム開発プロジェクト

Posted at

プロジェクト概要

美容クリニックの在庫管理において多くの課題があり、大阪から東京へ赴き現地でのヒアリングを実施しました。抽出した課題に対しては、エンジニアとしての視点から解決策を提示。保守性や可読性を維持しつつも、スピード感のある開発を実現しました。結果的に高評価をもらい、連携する他のクリニックにも導入することになりました。

担当役割

  • プロジェクトリーダー(PL)
  • 担当業務:要件定義から実装、テスト、保守運用まで一貫して担当

解決した課題と対策

1. 発注ミス・確認ミスの多発

課題:エクセルやスプレッドシートでの管理では人為的ミスが頻発

解決策

  • SPAやモダンなライブラリを活用し、直感的なUIを実現
  • 発注確認画面に品目写真を表示し、視覚的な確認を可能に
  • 重要項目を必須入力に設定してミスを防止

2. 情報の散在による作業の非効率化

課題:情報が分散しており、棚卸しや発注に時間がかかる。

解決策

  • すべての情報をシステムに一元化(タブレット1つで棚卸し可能)
  • リスト作成機能により、日次・月次の棚卸し品目を事前にリスト化

3. 高額商品の盗難・不正転売リスク

課題:高価な商品を扱うため、セキュリティ対策が必要

解決策

  • ユーザーの重要操作をログに記録する機能を実装(不正の予防と、問題発生時の原因特定を可能に)

4. 短納期での開発要求

課題:新サービス開始に向けて早急な納品が必要

解決策

  • モックを使用したプロトタイプを早期に提示し、完成イメージを共有(要件定義が大幅に短縮)
  • 学習コストの低い技術(Supabase.authなど)を採用
  • MCP(Model Context Protocol)ツールの活用し作業時間を大幅に短縮
    • Supabase MCP
    • Playwright MCP

5. 職種別のアクセス制御

課題:看護師・カウンセラーなど、職種によって閲覧可能な情報を制限する必要

解決策

  • ユーザー登録時に権限を設定できる機能を実装(RBAC)
  • 権限に応じて表示内容を動的に変更

開発における工夫点

1. 仕様書駆動開発の導入

AIの記憶範囲は限られているため、会話履歴が残っていなくても仕様書を参照すればAIが正しく理解できるようにしました。これにより、記憶に依存せず安定して開発を進められる体制を整えました。

2. 表示の体感速度を上げる

SSR(Server Side Rendering)で初期データを取得し、クライアント側のSWR(Stale While Revalidate)にシードとして渡す仕組みを導入しました。これにより、ユーザーはページを開いた瞬間からサーバーで描画された内容を確認でき、待たされる感覚が無くなりました。その後、SWRがバックグラウンドで最新データを再取得し、差分があればUIを自動的に更新します。結果として「即時表示の速さ」と「データの鮮度」を両立でき、快適な操作体験を実現しました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?