- AR会謹製豚そば「こうじろう」の食券管理システム
以下のインストールおよびセットアップをすること.
- VSCode
- Docker
- Git
また,VSCode内に以下の拡張機能のインストールが必要.
- Dev Containers
Workingディレクトリにおいて,GitHubからソースファイルをクローンする.
git clone "git@github.com:ARCircle/Kojirer.git"
クローンしたディレクトリに移動し,.env
ファイルをコピーする.
cd Kojirer
cp example.env .env
VSCodeでクローンしたディレクトリを開く.
code .
VSCodeの画面左の「><」のようなマークから, 「コンテナーで再度開く(Reopen in Container)」という欄をクリック.
初めてビルドする際は,右下にダイアログが出現するので 「コンテナーで再度開く」を実行しても可能.
開発中のDBとスキーマ定義を合わせるため, 開発開始時には必ずマイグレーションを実行する.
npm run migrate:dev
TARGET=dev
では,ホットリロードの恩恵を受けるため,フロントエンドサーバ (port: 52800) とバックエンドサーバ (port: 52600) の両方が起動する.
なお,バックエンドのコンソール表示が2重になっているが,これは仕様である (原因探し中).
sudo docker-compose up -d --build
開発環境ではバックエンドサーバ (port: 52600) のみ起動する.
Kojirerのコア部分.基本的にここをいじくることになる.
Feature | Package |
---|---|
HTTPサーバフレームワーク | Express.js |
ORM/マイグレーションツール | Prisma.js |
データベース | PostgreSQL |
tsファイルをsrc/routes
に追加すると,そのファイル名のパスが作られる.
バックエンド側の型再生成
npm run api
データベースへのテーブルの追加や編集といったスキーマへの操作を記録し,それらを逐次実行することで,開発者間で環境を揃えることをマイグレーションという.
このリポジトリにおけるマイグレーションの手順は以下のとおりです.
prisma/schema.prisma
において,スキーマを編集するnpm run migrate:create
を実行し,sqlファイルをprisma
ディレクトリ以下に作成される- 作成されたsqlファイルを確認し,既存のスキーマを壊すことがないか確認
npm run migrate:dev
でsqlを実行する
.devcontainer
の外,すなわちWSL上のKojirer
ディレクトリにおいて,以下のコマンドを実行.
docker exec -i kojirer_devcontainer-db-1 psql -U kojirer -d kojirer < packages/backend/examples/devdata.sql
Feature | Package |
---|---|
UIライブラリ | React |
ルーティングライブラリ | @generouted/react-router |
UIコンポーネント | Chakra UI |
docker-compose up -d --build
docker-compose exec web npm run migrate:dev