わかんないッピのバックエンド用リポジトリ
https://docs.google.com/presentation/d/1nSbAIJs5kFtTcM-n8WmiBhEJi0ZxIbHm/edit#slide=id.p28
MySQL Docker Docker-compose Go Gin Gorm
routingはlogin済みのユーザーのみアクセスできるAPIがあります
//だれでもアクセスできるAPI
r.POST("/login", model.Userlogin)
AuthUserGroup := r.Group("/auth")
AuthUserGroup.Use(middleware.LoginCheck)
{
//ログイン済みでないとアクセスできないAPI群
AuthUserGroup.GET("/OrigConste/Get", model.GetConsteData)
AuthUserGroup.GET("/UserItem/Get", model.GetUserItem)
AuthUserGroup.POST("/UserItem/Post", model.PostUserItem)
AuthUserGroup.GET("/Quize/Get", model.QuizeGet)
AuthUserGroup.POST("/OrigConste/Post", model.PostConsteData)
}
ユーザーloginする時のAPIです
sessionでログインユーザーを管理するので、クライアントはcookie管理ができるライブラリなりを使ってください
http://serverName:port/login
{"userId":"User", "userPass":"Password"}
httpレスポンスステータスコードは以下の3種類です
クライアントのエラーハンドリングに役立ててください
httpstatus | 状態 |
---|---|
200 | 成功 |
400 | login失敗 (passwordが違う,等) |
500 | login失敗 (サーバ側の問題) |
404 | URLが見つからない |
ユーザーのオリジナル星座を一括で取得してJSON形式でリクエストクライアントに返すAPIです
sessionでログインユーザーを管理するので、クライアントはcookie管理ができるライブラリなりを使ってください
http://serverName:port/auth/OrigConste/Get
[
{"consteId":"conste1", "consteName":"aiueo", "consteData"://保存データが決まってません.決まったら書き加えます},
{"consteId":"conste2", "consteName":"aiueo", "consteData"://保存データが決まってません.決まったら書き加えます}
]
httpレスポンスステータスコードは以下の3種類です
クライアントのエラーハンドリングに役立ててください
httpstatus | 状態 |
---|---|
200 | 成功 |
401 | 認証情報が切れている |
500 | 失敗 (サーバ側の問題) |
backend/docker/mysql/db.envを作成し、下のテンプレを保存
MYSQL_DATABASE=wakannaippi
MYSQL_ROOT_PASSWORD=****(任意の文字列)
MYSQL_HOST=wakannaippi_db
MYSQL_PASSWORD=****(任意の文字列)
MYSQL_USER=****(任意の文字列)
TZ='Asia/Tokyo'
backend/dockerに移動して、下のコマンドを実行
docker-compose up -d
コンテナ内のshellに移動
docker exec -it wakannaippi_go sh
ユーザーセットアップ
src/UserSetup [コンテナ内]
go run main.go
サーバ起動
src/cmd [コンテナ内]
go run main.go
cronを使う
src/cron [コンテナ内]
go run main.go