このプロジェクトは、ユーザーが花火を選択し、花火大会を楽しむためのアプリケーションです。自分だけの花火を作成して、他のユーザーと共有しましょう!
- フロントエンド: Next.js
- バックエンド: Fastify
- ORM: Prisma + PostgreSQL
- 認証: AWS Cognito
- オブジェクトストレージ: AWS S3 または Cloudflare R2
まずは Node.js をインストールします。バージョンは v20 以上を推奨します。
以下のコマンドでリポジトリをクローンします。
$ git clone https://github.com/your-repo/hackathon-vol14.git
$ cd hackathon-vol14
$ rm -rf .git # 既存のコミット履歴を削除
$ git init
プロジェクトの依存関係をインストールします。
$ npm i
$ npm i --prefix client
$ npm i --prefix server
環境変数ファイルを作成します。
$ cp client/.env.example client/.env
$ cp server/.env.example server/.env
Docker Compose を使用して必要なサービスを起動します。
$ docker compose up -d
開発サーバーを起動します。次回以降はこのコマンドだけで開発を開始できます。
$ npm run dev
ブラウザで http://localhost:3000 を開いてアプリケーションを確認しましょう。
Docker の Inbucket に仮想メールが届くため、任意のメールアドレスでアカウントを作成できます。検証コードを含めて開発時のメールは全て http://localhost:2501 の「Recent Mailboxes」に届きます。
このプロジェクトは Dockerfile
を使用して簡単にデプロイできます。
このプロジェクトは PostgreSQL
を使用しています。
- AWS Cognito
- AWS S3 または Cloudflare R2
ヘルスチェック用エンドポイント: /api/health
NEXT_PUBLIC_COGNITO_USER_POOL_CLIENT_ID=
NEXT_PUBLIC_COGNITO_USER_POOL_ID=
NEXT_PUBLIC_COGNITO_POOL_ENDPOINT=
DATABASE_URL=
S3_ACCESS_KEY=
S3_BUCKET=
S3_ENDPOINT=
S3_REGION=
S3_SECRET_KEY=
PORT= # optional
$ cd server
$ npx prisma studio
このプロジェクトを楽しんでいただけると幸いです。フィードバックや貢献は大歓迎です!