Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hatena/go-intern-diary

はてなインターン2018 課題アプリケーションひな形
https://github.com/hatena/go-intern-diary

Last synced: about 2 months ago
JSON representation

はてなインターン2018 課題アプリケーションひな形

Awesome Lists containing this project

README

        

# go-Intern-Diary
## ディレクトリー構成
- db: データベースのテーブルスキーマ
- config: 環境変数から読み込む設定
- model: モデル層: 型定義を書きます
- repository: データベースにアクセスするリポジトリ層
- service: Diaryアプリケーションを定義するサービス層
- web: webサーバーのルーティングやリクエストの解釈、レスポンスを実装するweb層
- ui: フロントエンド
- templates: HTMLテンプレート
- resolver: GraphQLスキーマとクエリの実行
- loader: GraphQL用のデータローダー

## 実行
サーバー起動
```sh
docker-compose up --build
open http://localhost:8000
```

GraphiQL
```
open http://localhost:8000/graphiql
```

テスト実行
```sh
docker-compose build && docker-compose run --rm app make test
```

MySQL
```
docker-compose exec db mysql
mysql> use intern_diary;
mysql> select * from user;
```

Dockerコンテナを作り直すために一旦削除
```
docker ps -a
docker stop
docker rm
# または
docker rm -f
```

例: データベーススキーマを変更する時はmysqlコンテナを作り直す
```
docker ps -a | grep mysql
docker rm -f 83ece5d09062
```

## フロントエンド
サーバーを起動すると自動的にwatchされる
```
docker-compose up
```

テスト実行
```
docker-compose run --rm node yarn test
```