このアプリは、イベントの作成と参加する友達同士でイベント毎にグループチャットを提供するアプリケーションです。
-
カレンダー機能 ・アプリをカレンダーとして利用でき、ユーザーは自分のスケジュールを管理できる。
-
イベント作成 ・イベント名、日付、時間、場所、説明、友達を招待する機能を備えたイベントを作成できます。 ・作成したイベントは、指定された日付のカレンダー上に表示されます。
・イベント作成者のみ、作成したイベント詳細の項目を編集・削除することができます。
-
友達機能 ・友達を追加することができ、ユーザー名またはメールアドレスで検索して友達申請を送ることが可能です。
-
イベントへの友達招待 ・作成したイベントに自分の友達を招待することができます。 招待されたユーザーは「イベント招待リスト」で招待を確認し、参加または不参加を選択できます。
-
イベント参加 ・イベントに参加すると、そのイベントがユーザーのカレンダーに追加されます。 ・イベントをクリックすると詳細を確認することができ、「チャット」ボタンを押すとチャット画面に遷移します。
-
グループチャット ・イベントの参加メンバーとグループチャットを行うことができ、イベントに関するディスカッションや情報交換がスムーズに行えます。
DockerおよびDocker Composeがインストールされていること。
- リポジトリをクローン
git clone https://github.com/R-koma/calendar-chat.git
cd calendar-chat
- 環境変数ファイルの設定
プロジェクトルートディレクトリに.envファイルを作成し、以下の内容を記述します。
# クライアント側の環境変数
NEXT_PUBLIC_API_URL=http://localhost:5001
# サーバー側の環境変数
SECRET_KEY=あなたが生成した秘密鍵
DATABASE_URL=PostgreSQLを利用しています。ご自身の環境に合わせて設定してください。
JWT_SECRET_KEY=あなたが生成したJWT秘密鍵
秘密鍵の生成方法:
ターミナルで以下のPythonコードを実行し、生成された文字列をSECRET_KEYとJWT_SECRET_KEYにそれぞれ設定してください。
python -c 'import os; print(os.urandom(24).hex())'
セキュリティ上、同じ値を使わず、別々に生成した値を使用することを推奨します。
- Dockerコンテナのビルドと起動
docker-compose up --build
初回は--buildオプションを付けてビルドします。 コンテナが起動し、サーバーとクライアントが立ち上がります。
- データベースのマイグレーション
Dockerコンテナ内でFlaskのマイグレーションコマンドを実行します。
新しいターミナルウィンドウを開く
マイグレーションコマンドを実行
docker compose exec server flask db init
docker compose exec server flask db migrate -m "Add Calendar Chat models"
docker compose exec server flask db upgrade
初回のみ flask db init が必要です。すでにマイグレーションが初期化されている場合は、このコマンドは不要です。
ブラウザを開き、http://localhost:3003 にアクセスしてください。