- Todo REST API in Go
- React frontend client with Redux.
- Setup with docker & docker-compose.
Database library for postgres is Gorp, livereloading goes to codegangsta/Gin, HTTP framework used is gin-gonic/gin.
Docker-compose file contains the definition for three containers - database (postgres), backend (Go) and frontend (React).
- docker
- docker-compose
```
$ docker-compose up -d
```
Go API (バックエンド) は、http://localhost:8080でアクセスできます。 React(フロントエンド) は、 http://localhost:9000 で使用しています。 Live reloadはcodegangsta/Ginが提供しています。
Production環境ではLive reload、フロントエンドコンテナは必要ありません。 postgres(DB)、go(BackEnd)、nginxの3つのコンテナのみです。 以下の手順でビルド、公開を行います。
```
$ docker-compose run client npm run build
$ docker-compose run server go build
```
公開時は別の docker-compose ファイルを使用します。
```
$ docker-compose -f docker-compose.prod.yml up -d
```
- GET api/v1/todos/
- GET api/v1/todos/:id
- POST api/v1/todos
- PUT api/v1/todos/:id
- DELETE api/v1/todos/:id