No description
| src | ||
| .env.example | ||
| .gitignore | ||
| bun.lock | ||
| CLAUDE.md | ||
| DEBUG_INSTRUCTIONS.md | ||
| flake.lock | ||
| flake.nix | ||
| FRONTEND_SPEC.md | ||
| index.html | ||
| ITEM_INTERFACE_COMPLETE.md | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.cjs | ||
| postcss.config.js | ||
| README.md | ||
| SETUP.md | ||
| tailwind.config.cjs | ||
| tailwind.config.js | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.d.ts | ||
| vite.config.js | ||
| vite.config.ts | ||
HyperDashi Client
HyperDashi(ハイパーダッシ)は、教育機関向けの備品管理システムです。このプロジェクトは React + Vite + HeroUI を使用したフロントエンドです。
機能
- 📦 備品管理: 備品の登録・編集・削除・検索
- 📋 貸出管理: 備品の貸出・返却管理
- 🖼️ 画像管理: 備品画像のアップロード・表示
- 📊 ダッシュボード: 統計情報の表示
- 🔍 検索機能: 備品名・ラベルID・型番での検索
- 📱 レスポンシブデザイン: モバイル・タブレット・デスクトップ対応
技術スタック
- Framework: React 18
- Build Tool: Vite
- UI Library: HeroUI (NextUI v2)
- Styling: Tailwind CSS
- State Management: TanStack Query
- HTTP Client: Axios
- Form Handling: React Hook Form
- Routing: React Router
- Icons: Lucide React
- Date Handling: date-fns
開発環境のセットアップ
必要なもの
- Node.js 18以上
- npm または yarn
インストール
# 依存関係のインストール
npm install
# 開発サーバーの起動
npm run dev
# ビルド
npm run build
# プレビュー
npm run preview
環境変数
プロジェクトルートに .env ファイルがあります。必要に応じて設定を変更してください:
# APIサーバーのURL(デフォルト: http://127.0.0.1:8080/api/v1)
VITE_API_BASE_URL=http://127.0.0.1:8080/api/v1
# 開発モード(APIリクエストのログ出力)
VITE_DEV_MODE=true
注意: .env.example ファイルをコピーして .env ファイルを作成し、環境に合わせて設定を変更してください。
プロジェクト構成
src/
├── components/ # 再利用可能なコンポーネント
│ ├── ui/ # 基本UIコンポーネント
│ ├── layout/ # レイアウトコンポーネント
│ ├── forms/ # フォームコンポーネント
│ └── tables/ # テーブルコンポーネント
├── pages/ # ページコンポーネント
│ ├── dashboard/ # ダッシュボード
│ ├── items/ # 備品管理
│ └── loans/ # 貸出管理
├── hooks/ # カスタムフック
├── services/ # API呼び出し
├── types/ # 型定義
├── utils/ # ユーティリティ関数
└── styles/ # スタイル
API仕様
バックエンドAPIは以下のベースURLで動作します:
- 開発環境:
http://127.0.0.1:8080/api/v1(環境変数VITE_API_BASE_URLで変更可能)
主要エンドポイント
GET /items- 備品一覧取得POST /items- 備品作成GET /items/:id- 備品詳細取得PUT /items/:id- 備品更新DELETE /items/:id- 備品削除GET /loans- 貸出一覧取得POST /loans- 貸出作成PUT /loans/:id/return- 貸出返却
開発ガイド
コーディング規約
- TypeScriptを使用
- ESLintとPrettierによるコードフォーマット
- コンポーネント名はPascalCase
- ファイル名はkebab-case(コンポーネントファイルは除く)
コミット規約
- feat: 新機能
- fix: バグ修正
- docs: ドキュメント更新
- style: スタイル変更
- refactor: リファクタリング
- test: テスト追加・修正
- chore: その他の変更
デプロイ
# 本番ビルド
npm run build
# 生成されたdistディレクトリをWebサーバーにデプロイ
ライセンス
MIT License
貢献
プルリクエストやイシューの投稿を歓迎します。