ticket_service は UniSchool 向けのチケット管理サービスのフロントエンド/API を含む Next.js (App Router) プロジェクトです。主な機能はチケット作成・参照・監視・ステージ管理および認証連携です。バックエンドのデータアクセスには Prisma を使用しています。
- フレームワーク: Next.js (App Router)
- 言語: TypeScript
- ORM: Prisma
- データベース: PostgreSQL(Prisma 経由)
- その他: Sonner(通知)、Google OAuth(認証用アイコンが存在)、Cloud Functions スクリプト(
scripts/forms.gs.js)など
- Node.js(推奨 LTS)とパッケージマネージャ(npm / pnpm / yarn)
- データベース(Postgres 等)を用意し、接続文字列を取得
prismaCLI をローカルにインストールしておくと便利です
プロジェクトの実行に必要な主な環境変数(例):
DATABASE_URL- Prisma が使用するデータベース接続文字列NEXTAUTH_URL- アプリのベース URLNEXT_PUBLIC_*- クライアントから参照する公開変数
(詳しい環境変数は src/lib/auth.ts や src/lib/prisma.ts などのソースを参照してください)
# リポジトリをクローン
git clone <repo-url>
cd ticket_service
# 依存関係をインストール
npm install
# または
pnpm installprisma/schema.prismaを確認し、DATABASE_URLを設定します。- マイグレーションを適用します。
npx prisma migrate deploy
# 開発環境でマイグレーションを作成する場合:
npx prisma migrate dev --name init生成コード(src/generated/prisma)は既にコミットされていますが、必要に応じて npx prisma generate を実行してください。
npm run dev
# デフォルト: http://localhost:3000API ルートは src/app/api 以下にあります。認証周りは src/app/api/auth/[...all]/route.ts、チケット API は src/app/api/tickets/route.ts とそのサブパスにあります。
src/app- Next.js の App Router 構成(ページ・API)src/components- UI / フォーム・レイアウトコンポーネントsrc/lib- アプリで共有するユーティリティ(prisma.ts,auth.ts等)prisma- Prisma スキーマとマイグレーションscripts- 補助スクリプト(例:forms.gs.js)
より詳細なファイル位置はリポジトリを参照してください。
npm run dev— 開発サーバーを起動npm run build— 本番ビルドnpm start— 本番モードで起動npx prisma migrate dev— ローカルでマイグレーション作成npx prisma migrate deploy— 本番へマイグレーション適用
Vercel などのプラットフォームにデプロイ可能です。デプロイ時に DATABASE_URL 等の環境変数を設定してください。
- フォークしてブランチを作成
- 変更をコミット
- プルリクエストを送る
必要に応じて、テストや追加のドキュメントを含めてください。
不明点があればこのリポジトリの Issues を作成してください。