GitHub OpenGraph preview
QUICK LINKS
README
MySQL と Docker を使用した最新技術スタックによる近未来的なTODOリスト Web アプリケーションです。React 19 + TypeScript + Tailwind CSS v4 + Vite の最新スタックで構築されており、美しいサイバーパンクなUIとともにタスク管理を体験できます。
tiger-sql/
├── backend/ # Express.js APIサーバー
│ ├── server.js
│ ├── package.json
│ ├── Dockerfile
│ └── init.sql
├── frontend/ # React + TypeScript フロントエンド
│ ├── src/
│ │ ├── components/ # UIコンポーネント
│ │ ├── hooks/ # カスタムフック
│ │ ├── services/ # API通信
│ │ ├── types/ # TypeScript型定義
│ │ └── utils/ # ユーティリティ関数
│ │ └── cn.ts # clsx + TailwindCSS統合
│ ├── package.json
│ └── vite.config.ts
├── docker-compose.yml # Docker構成
└── package.json # モノレポ管理
# MySQLとExpressサーバーを起動
docker compose up -d
# フロントエンドディレクトリに移動
cd frontend
# 依存関係をインストール(初回のみ)
pnpm install
# 開発サーバーを起動
pnpm dev
torasql/
├── frontend/ # React + TypeScript フロントエンド
│ ├── src/
│ │ ├── components/ # UIコンポーネント
│ │ │ ├── TodoItem.tsx # タスクアイテム
│ │ │ ├── TodoForm.tsx # タスク作成フォーム
│ │ │ ├── TodoFilter.tsx # フィルターコンポーネント
│ │ │ └── LoadingSpinner.tsx
│ │ ├── hooks/
│ │ │ └── useTodos.ts # カスタムフック
│ │ ├── services/
│ │ │ └── api.ts # API通信
│ │ ├── types/
│ │ │ └── Todo.ts # TypeScript型定義
│ │ ├── App.tsx # メインアプリ
│ │ ├── main.tsx # エントリーポイント
│ │ └── index.css # Tailwind CSS v4
│ ├── vite.config.ts # Vite設定
│ └── package.json # フロントエンド依存関係
├── docker-compose.yml # Docker構成
├── Dockerfile # バックエンドコンテナ
├── server.js # Express サーバー
├── init.sql # データベース初期化
└── package.json # バックエンド依存関係
| カラム名 | データ型 | 説明 |
|---|---|---|
| id | INT AUTO_INCREMENT | 主キー |
| title | VARCHAR(255) | TODO のタイトル |
| description | TEXT | TODO の説明(任意) |
| completed | BOOLEAN | 完了状態(デフォルト: FALSE) |
| created_at | TIMESTAMP | 作成日時 |
| updated_at | TIMESTAMP | 更新日時 |
GET /api/todos - すべての TODO を取得GET /api/todos/:id - 指定 ID の TODO を取得POST /api/todos - 新しい TODO を作成PUT /api/todos/:id - TODO を更新DELETE /api/todos/:id - TODO を削除GET /health - ヘルスチェックこのプロジェクトでは以下のことを学べます:
docker compose logsnpm install -g pnpmpnpm installcurl http://localhost:3001/healthdocker compose ps.envファイル)MIT License
🚀 Neural Tasks で未来的なタスク管理を体験してください!