標準ライブラリで作る, DDD構成のAPIサーバー. (フロントエンドのリポジトリ
)
構成の参考にしたドキュメント
APIの仕様は doc/api.md を参考にしてください.
$ git clone https://github.com/kons16/clothes-backend.git
$ cd clothes-backend
$ docker-compose up
DBの起動とS3へのアクセスには .env
を設定する必要があります.
$ go test -v ./...
ユーザー情報(usersテーブル), 服情報(clothesテーブル), コーディネート情報(cordinatesテーブル) は MySQL に保存しています.
$ docker exec -it [db_container_id] /bin/bash
# mysql -u user -p
> USE [database_name];
> SHOW TABLES;
マイグレーションには sql-migrate を使用しています.
$ docker exec -it [api_container_id] sh
# sql-migrate new table_name
# sql-migrate up
ユーザーの SessionID の保存には Redis を使用しています.
Redis には key が SessionID, field が UserID と ExpiresAt をhashで保存しています.
$ docker exec -it [redis_container_id] sh
# redis-cli
> keys *
1) "xxxyyyzzz"
> hgetall xxxyyyzzz
1) "UserID"
2) "112233"
3) "ExpiresAt"
4) "2020-10-11 05:11:32"