/portal

みすポータル

Primary LanguageGoMozilla Public License 2.0MPL-2.0

Portal

MIS.W のポータルサイトです。

仕様

Directories

  • backend: Go で書かれた API サーバ
  • frontend: React+Next.JS で書かれたフロントエンド

How to develop

Prerequirements

  • Install docker
  • Use LF line break style
    • example: git config --global core.autocrlf input

Install / Start dev server

git clone https://github.com/MISW/Portal
cd Portal
docker compose up -d --build
  • Wait for install packages
  • Wait for db wake up
  • Wait for server wake up
  • Open localhost:1080 in browser

Show Logs

docker compose logs
docker compose logs -f # 流しっぱなしにする
docker compose logs app # Webサーバのみ(MySQLを無視)

Auth0

アカウント

  • ログインするためにはデータベースに存在するユーザ(account_id を持つ)である必要がある。
  • 次のいずれかによってデータベースにデータを入れる必要がある。管理ページを見るにはadminロールが必要。
    1. ./tools/batch_insert/を使う
    2. 直接データベースをいじる
    3. /signupを叩く

Environment variable

Frontend Environment

Install nvm

cd ./frontend/
nvm install 20
nvm use 20
corepack enable
corepack prepare pnpm@latest --activate
pnpm i
pnpm format
pnpm lint
pnpm typecheck
pnpm build
pnpm start

Backend Environment

Install Go

cd ./backend/
go install
gomockhandler mockgen -config=gomockhandler.json
go test -v -race -tags use_external_db ./...
go vet ./...
staticcheck ./...
go build -buildmode pie
./backend