シンプルで使いやすいTodoアプリケーション。Next.js(フロントエンド)とFastAPI(バックエンド)を使用しています。
- ユーザー認証(登録・ログイン)
- Todoの作成、表示、更新、削除
- クールなダークテーマUI
- Next.js
- TypeScript
- Tailwind CSS
- React Hooks
- FastAPI
- SQLAlchemy
- Alembic (データベースマイグレーション)
- Pydantic
- バックエンドディレクトリに移動
cd backend- 仮想環境を作成して有効化
# Windows
python -m venv venv
venv\Scripts\activate
# macOS/Linux
python -m venv venv
source venv/bin/activate- 依存関係をインストール
pip install -r requirements.txt- データベースのマイグレーション
alembic upgrade head- バックエンドサーバーを起動
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000- 別のターミナルウィンドウを開き、フロントエンドディレクトリに移動
cd frontend- 依存関係をインストール
npm install- 開発サーバーを起動
npm run dev- ブラウザで http://localhost:3000 にアクセス
- POST /api/v1/auth/register - 新規ユーザー登録
- POST /api/v1/auth/login/access-token - ログイン(トークン取得)
- POST /api/v1/auth/login/test-token - トークンテスト
- GET /api/v1/users/me - 現在のユーザー情報を取得
- PUT /api/v1/users/me - ユーザー情報を更新
- GET /api/v1/todos/ - Todoリストを取得
- POST /api/v1/todos/ - 新しいTodoを作成
- GET /api/v1/todos/{todo_id} - 特定のTodoを取得
- PUT /api/v1/todos/{todo_id} - Todoを更新
- DELETE /api/v1/todos/{todo_id} - Todoを削除