塩釜口駅の時刻表を表示する Web アプリケーション
- Node.js 18 以上
- Docker(データベース用)
- Docker Compose
-
リポジトリをクローン
git clone https://github.com/fuyu28/shiogama-timetable cd shiogama-timetable -
依存関係のインストール
npm install
-
データベースを起動
docker compose up -d db
-
データベースのセットアップ
npm run db:setup
-
開発サーバー起動
npm run dev
-
アプリケーションにアクセス
- ブラウザで http://localhost:3000 を開く
npm run db:setup コマンドが以下を実行します:
- PostgreSQL 16 データベースの初期化
- Prisma マイグレーションの実行
- シードデータの投入(時刻表データ)
# 開発サーバー起動
npm run dev
# データベース関連
npm run db:setup # データベース初期化
npm run db:migrate # マイグレーション実行
npm run db:seed # シードデータ投入
npm run db:reset # データベースリセット
# ビルド
npm run build
npm run start- PostgreSQL 16 を使用
- Prisma でスキーマ管理
- テーブル:
Departure(電車の出発時刻情報)
- Frontend: Next.js 15.3.4 (React 19)
- Backend: Next.js API Routes
- Database: PostgreSQL 16
- ORM: Prisma 6.10.1
- Styling: Tailwind CSS 4
- State Management: Jotai 2.12.5
- Icons: React Icons
- Database Container: Docker + Docker Compose
# 開発サーバーを停止(Ctrl+C)
# または、使用中のポートを確認
netstat -ano | findstr :3000# データベースコンテナを完全に削除して再起動
docker compose down -v
docker compose up -d db# node_modules を削除して再インストール
rm -rf node_modules
npm install- データベース設定: README-DB.md
- Vercel 設定: README-VERCEL.md