静岡大学ITソルーション室(ITS)で使用する共通のデータベースアクセス層とビジネスロジックを提供するTypeScriptライブラリです。
npm install @shizuoka-its/core
メンバー情報表示
import { createMemberUseCases, type Member } from "@shizuoka-its/core";
const memberUseCases = createMemberUseCases();
// メンバー情報の取得
const result = await memberUseCases.getMemberByEmail
.execute({ email: "[email protected]" });
console.log(result.member);
このプロジェクトはクリーンアーキテクチャパターンに基づいて設計されています:
src/
├── domain/ # ドメインエンティティとビジネスルール
├── application/ # ユースケース層
├── infrastructure/ # インフラストラクチャ層(リポジトリ実装等)
├── executable/ # 実行可能な機能のエントリーポイント
└── index.ts # ライブラリのメインエントリーポイント
- メンバーの作成、更新、削除
- メールアドレスによる検索
- 学籍番号による検索
- Discordアカウントとの紐付け
- Discordアカウントの紐付け
- メンバーごとのDiscordアカウント取得
- イベントの作成、更新、削除
- イベント参加者の管理
- 今後のイベント一覧取得
- 展示の作成、更新、削除
- イベントごとの展示一覧
- 展示参加者の管理
- ライトニングトークの作成、更新、削除
- イベントごとのライトニングトーク一覧
- リポジトリのクローン
git clone https://github.com/su-its/core.git
cd core
- 依存関係のインストール
npm install
- 環境変数の設定
# .env ファイルを作成
DATABASE_URL="postgresql://user:password@localhost:5432/su_its_db?schema=public"
- データベースのセットアップ
# Prismaクライアントの生成
npx prisma generate
# マイグレーションの実行(開発環境)
npx prisma migrate dev
# ビルド
npm run build
# アルファ版の作成
npm run version:alpha
# ベータ版のパブリッシュ
npm run publish:beta
# リリース候補版の作成
npm run version:rc
# パッチバージョンの更新
npm run version:patch
# マイナーバージョンの更新
npm run version:minor
# メジャーバージョンの更新
npm run version:major
詳細なマイグレーション手順については、マイグレーションガイドを参照してください。
# 開発環境でのマイグレーション
npx prisma migrate dev --name your_migration_name
# 本番環境でのマイグレーション適用
npx prisma migrate deploy
# マイグレーション状態の確認
npx prisma migrate status
# データベースの可視化
npx prisma studio
- @KinjiKawaguchi
- @KikyoNanakusa