メインコンテンツへスキップ

msykn

Hono Music API

Hono Music API
github

概要

Hono + GraphQL + PostgreSQL で作った音楽カタログ API です。
Artist / Album / Track の曲庫を管理し、聞き手はプレイリストを作れます。
GraphQL 単一エンドポイント(/graphql)で CRUD します。

技術スタック

領域採用技術
APIHono / GraphQL
DBPostgreSQL / Drizzle ORM
言語TypeScript
運用Docker

できること

操作
聞き手(UserAccount)曲庫の閲覧、自分のプレイリスト CRUD
アーティスト(ArtistAccount)曲庫の閲覧、自分が関与する Artist / Album / Track の CRUD

ドメインモデル

概念説明
UserAccount / ArtistAccountログイン主体。完全別登録(切り替えは再ログイン)
User聞き手の公開プロフィール。プレイリストの所有者
Artist演奏者 / グループの公開プロフィール
Track1 曲の録音
Album順序付き Track 一覧
PlaylistUser が所有する順序付き Track 一覧

開発・運用

npm install
cp .env.example .env
docker compose up -d db
npm run db:migrate
npm run dev

工夫した点

  • 二重 Account モデル … 聞き手とアーティストの責務を分離し、認可を単純化
  • 三層 + ドメイン … GraphQL 層と永続化の詳細を Service / Repository / Domain に分離
  • クローズド β 向け運用 … Docker / migration / CI まで一通り整備