Blog Service
概要
Blog Serviceは、技術記事とライフスタイル記事を管理するためのGoマイクロサービスです。記事の作成・編集・削除・検索機能と、タグによる分類機能を提供します。
主な機能
- 記事管理: 記事の作成、編集、削除、一覧取得
- タグ管理: タグの作成、編集、削除、一覧取得
- カテゴリ分類: tech(技術)、life(ライフスタイル)の2つのカテゴリ
- 認証: JWT認証による安全なAPI操作
- 検索・フィルタリング: タグ、カテゴリによるフィルタリング、ページネーション
技術スタック
項目 | 技術 |
---|---|
言語 | Go |
フレームワーク | Echo |
データベース | MySQL 8.0 |
ORM | ent |
マイグレーション | atlas |
テスト | testify |
ログ | zap |
コード生成 | oapi-codegen |
ドメインモデル
本サービスでは以下の2つの主要ドメインを扱います:
Article(記事)
プロパティ | 型 | 説明 |
---|---|---|
id | string | 記事の一意識別子 |
title | string | 記事タイトル |
content | string | 記事本文 |
tagIds | []string | 関連タグのID配列 |
category | tech | life | 記事カテゴリ |
created_at | datetime | 作成日時 |
updated_at | datetime | 更新日時 |
Tag(タグ)
プロパティ | 型 | 説明 |
---|---|---|
id | string | タグの一意識別子 |
name | string | タグ名 |
ユースケース
記事管理
- 記事作成: 認証済みユーザーが新規記事を作成
- 記事一覧取得: 公開記事の一覧をページネーション付きで取得
- 記事詳細取得: 指定IDの記事詳細を取得
- 記事更新: 認証済みユーザーが既存記事を更新
- 記事削除: 認証済みユーザーが記事を削除
タグ管理
- タグ作成: 認証済みユーザーが新規タグを作成
- タグ一覧取得: 全てのタグ一覧を取得
- タグ詳細取得: 指定IDのタグ詳細を取得
- タグ更新: 認証済みユーザーが既存タグを更新
- タグ削除: 認証済みユーザーがタグを削除