Skip to content

ARCircle/Kojirer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kojirer

  • AR会謹製豚そば「こうじろう」の食券管理システム

API仕様書

How to Start Develop

0. 前提

以下のインストールおよびセットアップをすること.

  • VSCode
  • Docker
  • Git
  • Node.js
  • pnpm

また,VSCode内に以下の拡張機能のインストールが必要.

  • Dev Containers

1. リポジトリのクローン

Workingディレクトリにおいて,GitHubからソースファイルをクローンする.

git clone "git@github.com:ARCircle/Kojirer.git"

クローンしたディレクトリに移動し,.envファイルをコピーする.

cd Kojirer
cp example.env .env
cp example.env.container .env.container

2. 依存関係のインストール

pnpm install

3. 開発サーバーの起動

docker composeを使用して開発用のDB、フロントエンド、バックエンドのサーバーを起動する。

docker compose up

サーバーが起動したら下記コマンドでDBのマイグレーションを実行する。

pnpm run migrate:dev

DBにシードを入れる。

docker exec -i kojirer-db-local psql -U kojirer -d kojirer < packages/backend/examples/devdata.sql

起動するサーバー

サーバー URL
フロントエンド http://localhost:52800
バックエンド http://localhost:52600
Prisma Studio http://localhost:5555
データベース http://localhost:5333

ホットリロードが有効なのでこのサーバーを起動したままホストマシンでコードを編集して開発を進められる。

How to Start Production

本番環境も一応用意している。

docker compose -f docker-compose.prod.yml up

本番環境では統合されたバックエンドサーバー (port: 52600) のみが起動する。

ディレクトリ構成

packages

Kojirerのコア部分.基本的にここをいじくることになる.

packages/backend

Feature Package
HTTPサーバフレームワーク Express.js
ORM/マイグレーションツール Prisma.js
データベース PostgreSQL

Routeの追加

tsファイルをsrc/routesに追加すると,そのファイル名のパスが作られる.

APIスキーマ編集

バックエンド側の型再生成

pnpm run api

DBマイグレーション

データベースへのテーブルの追加や編集といったスキーマへの操作を記録し,それらを逐次実行することで,開発者間で環境を揃えることをマイグレーションという.

このリポジトリにおけるマイグレーションの手順は以下のとおりです.

  1. prisma/schema.prismaにおいて,スキーマを編集する
  2. pnpm run migrate:createを実行し,sqlファイルをprismaディレクトリ以下に作成される
  3. 作成されたsqlファイルを確認し,既存のスキーマを壊すことがないか確認
  4. pnpm run migrate:devでsqlを実行する

packages/frontend

Feature Package
UIライブラリ React
ルーティングライブラリ @generouted/react-router
UIコンポーネント Chakra UI

Nodeのバージョンについて

pnpmの問題かは不明だが最新のNode24を使用するとpnpm install時にnodeのJavaScript heap out of memoryエラーが発生して失敗する

そのためプロジェクトのビルドおよびCIではNode.jsのバージョンを22に設定している。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 9