このリポジトリは、Geek Hackathon Vol.17 で使用される Remix アプリケーションです。
このアプリケーションは、教師や管理者がクラスの席替えを簡単に行えるように設計されています。主な機能は以下の通りです:
- クラス管理: クラス情報を管理し、クラスごとに異なる席替えを設定可能。
- 席替えシミュレーション: 直感的な UI を使用して、席替えのシミュレーションを行い、最適な席配置を見つけることができます。
- 学生情報管理: 学生の名前や ID を管理し、クラスに所属させることで席替えをスムーズに実施。
- リアルタイム更新: 席替えの結果を即座に反映し、管理者と学生の双方がリアルタイムで変更を確認可能。
このプロジェクトをローカル環境で動作させるために、以下のソフトウェアをインストールしてください。
-
リポジトリをクローンします:
git clone https://github.com/SQL-Injections/geek-hackathon-vol17.git cd geek-hackathon-vol17 -
依存関係をインストールします:
npm install
-
プロジェクトのルートディレクトリに
.envファイルを作成します:touch .env
-
以下の内容を
.envに追加します:# SQLiteを使用する場合 ローカル環境 DATABASE_URL="file:./dev.db" # 教師用のセッション ADMIN_SESSION_SECRET # 生徒用のセッション STUDENT_SESSION_SECRET
開発モードでアプリケーションを起動するには、以下のコマンドを実行します:
npm run devこれで Remix の開発サーバーが起動します。
データベーススキーマを設定するために、Prisma のマイグレーションを実行します:
npm run migrate:dev
npx prisma generatePrisma Studio を使用してデータベースを確認することができます:
npx prisma studioこれにより、ブラウザで Prisma Studio が開き、データベースの内容を視覚的に管理できます。
本番環境にデプロイする際は、ホスティングプロバイダーのガイドに従い、必要な環境変数を設定してください。
仮デプロイ: Render (https://geek-hackathon-vol17.onrender.com/)
※ 起動に時間がかかる場合があります。(5分程度)
npm run dev: 開発サーバーを起動します。npm run build: 本番環境用にビルドします。npm start: 本番サーバーを起動します。npm run migrate:dev: Prisma のマイグレーションを実行します。