Categorygithub.com/loak155/techbranch-backend
module
0.0.0-20241006143451-80c5a418cd08
Repository: https://github.com/loak155/techbranch-backend.git
Documentation: pkg.go.dev

# README

techbranch-backend

使用技術

ローカルでの起動方法

.env ファイルの作成

.env.sample ファイルから.env ファイルを作成し、Google 認証のキーなどを設定する。

$ cp .env.sample .env

Docker イメージの作成と起動

$ docker-compose build
$ docker-compose up

http://localhost:8080/docs にアクセスできます。

API ドキュメント

API の詳細なドキュメントは、http://localhost:8080/docs から確認できます。

メソッドURL概要
GET/v1/articles記事一覧を取得
POST/v1/articles記事情報の作成
PUT/v1/articles記事情報の更新
GET/v1/articles/counts記事数を取得
GET/v1/articles/{id}特定の記事情報を取得
DELETE/v1/articles/{id}特定の記事情報を削除
GET/v1/users/{userId}/bookmarks/articles特定ユーザのブックマークした記事一覧を取得
GET/v1/oauth/google/callbackGoogle 認証を実行
GET/v1/oauth/google/loginGoogle 認証の URL を取得
POST/v1/refresh-tokenリフレッシュトークンからアクセストークンを取得
POST/v1/signinサインインを実行
GET/v1/signin/userサインインしているユーザ情報を取得
POST/v1/signoutサインアウトを実行
GET/v1/signupサインインを実行
POST/v1/signup仮登録を実行
GET/v1/articles/{articleId}/bookmarks特定の記事のブックマーク情報を取得
DELETE/v1/articles/{articleId}/bookmarks特定の記事のブックマーク情報を削除
GET/v1/articles/{articleId}/bookmarks/count特定の記事のブックマーク数を取得
POST/v1/bookmarksブックマークを作成
DELETE/v1/users/{userId}/articles/{articleId}/bookmarksブックマークを削除
GET/v1/users/{userId}/bookmarks特定のユーザのブックマークを取得
DELETE/v1/users/{userId}/bookmarks特定のユーザのブックマークを削除
GET/v1/articles/{articleId}/comments特定の記事のコメントを取得
DELETE/v1/articles/{articleId}/comments特定の記事のコメントを削除
POST/v1/commentsコメントを作成
DELETE/v1/comments/{id}ID からコメントを削除
DELETE/v1/users/{userId}/articles/{articleId}/commentsユーザ・記事情報からコメントを削除
GET/v1/users/{userId}/comments特定のユーザのコメントを取得
DELETE/v1/users/{userId}/comments特定のユーザのコメントを削除
GET/v1/usersユーザ一覧を取得
POST/v1/usersユーザ情報を作成
PUT/v1/usersユーザ情報を更新
GET/v1/users/{id}特定のユーザ情報を取得
DELETE/v1/users/{id}特定のユーザ情報を削除

ER 図

コマンド一覧

コマンド処理概要
make new-migration -name=マイグレーションファイルを生成
make migrateup全てのマイグレーションを実行
make migrateup11 つのマイグレーションを実行
make migratedown全てのマイグレーションを戻す
make migratedown11 つのマイグレーションを戻す
make protocproto ファイルからコードを自動生成
make mockgenモックを生成
make testユニットテストを実行
make runプログラムの実行
make dbdocsdbdocs のビューを作成
make dbml2sqlDBML ファイルから SQL を生成

環境変数

環境変数概要
DB_SOURCE接続先 DB の URL
MIGRATION_URLマイグレーションファイルのパス
HTTP_SERVER_ADDRESSHTTP サーバのアドレス
GRPC_SERVER_ADDRESSgRPC サーバのアドレス
REDIS_ADDRESS接続先 Redis のアドレス
REDIS_ACCESS_TOKEN_DBアクセストークンを保持する DB 番号
REDIS_REFRESH_TOKEN_DBリフレッシュトークンを保持する DB 番号
JWT_ISSUERJWT の発行者
JWT_SECRETJWT のシークレットキー
ACCESS_TOKEN_EXPIRESアクセストークンの保持期間
REFRESH_TOKEN_EXPIRESリフレッシュトークンの保持期間
OAUTH_GOOGLE_STATEGoogle 認証に使用する state
OAUTH_GOOGLE_CLIENT_IDGoogle 認証に使用するクライアント ID
OAUTH_GOOGLE_CLIENT_SECRETGoogle 認証に使用するクライアントシークレット
OAUTH_GOOGLE_REDIRECT_URLGoogle 認証時のリダイレクト URL
GMAIL_FROM仮登録メール送信用の Gmail の送信元メールアドレス
GMAIL_PASSWORD仮登録メール送信用の Gmail のパスワード
REDIS_PRESIGNUP_DB仮登録情報を保持する DB 番号
PRESIGNUP_EXPIRES仮登録情報の期間
PRESIGNUP_MAIL_SUBJECT仮登録メールのタイトル
PRESIGNUP_MAIL_TEMPLATE仮登録メールのテンプレートファイル
SIGNUP_URLサインアップの URL

# Packages

No description provided by the author
Package mock is a generated GoMock package.
No description provided by the author
No description provided by the author