diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e69de29 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..e69de29 diff --git a/README.md b/README.md index b9fb421..c70bc65 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,59 @@ # About Watanabebashi Likomment -Watanabebashi Likomennt(ライコメント)は、自身のWebサイトにいいねボタンとコメントを簡単に実装できるAPIサーバです。 +Watanabebashi Likomment(ライコメント)は、自身のWebサイトにいいねボタンとコメントを簡単に実装できるAPIサーバです。 # 技術スタック - Go/Gin - MySQL/SQLite - Dockerで動作可能 +# ディレクトリ構成 +現在の暫定的なディレクトリ構成は以下の通りです。 + +``` +WB-Likomment/ +├── cmd/ +│ └── server/ +│ └── main.go # エントリーポイント +│ +├── internal/ +│ ├── config/ +│ │ └── config.go # YAML読み込み&構造体定義 +│ ├── database/ +│ │ └── database.go # DB接続管理(MySQL/SQLite切替) +│ ├── handler/ +│ │ ├── comment.go # コメントAPI +│ │ └── like.go # いいねAPI +│ ├── middleware/ +│ │ └── cors.go # CORS設定 +│ ├── model/ +│ │ ├── comment.go # コメントモデル +│ │ └── like.go # いいねモデル +│ ├── repository/ +│ │ ├── comment_repo.go # コメントリポジトリ +│ │ └── like_repo.go # いいねリポジトリ +│ ├── router/ +│ │ └── router.go # ルーティング設定 +│ └── service/ +│ ├── comment_service.go # コメントロジック +│ └── like_service.go # いいねロジック +│ +├── configs/ +│ ├── config.yaml # デフォルト設定 +│ ├── config.development.yaml # 開発環境用 +│ └── config.production.yaml # 本番環境用 +│ +├── migrations/ +│ ├── 001_create_likes.sql +│ └── 002_create_comments.sql +│ +├── Dockerfile +├── docker-compose.yml +├── go.mod +├── Makefile +├── LICENSE +└── README.md +``` + # ライセンス AGPL v3 詳しくはLICENSEファイルをご覧ください。 \ No newline at end of file diff --git a/cmd/server/main.go b/cmd/server/main.go new file mode 100644 index 0000000..e69de29 diff --git a/configs/config.development.yaml b/configs/config.development.yaml new file mode 100644 index 0000000..e69de29 diff --git a/configs/config.production.yaml b/configs/config.production.yaml new file mode 100644 index 0000000..e69de29 diff --git a/configs/config.yaml b/configs/config.yaml new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..e69de29 diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..e69de29 diff --git a/internal/config/config.go b/internal/config/config.go new file mode 100644 index 0000000..e69de29 diff --git a/internal/database/database.go b/internal/database/database.go new file mode 100644 index 0000000..e69de29 diff --git a/internal/handler/comment.go b/internal/handler/comment.go new file mode 100644 index 0000000..e69de29 diff --git a/internal/handler/like.go b/internal/handler/like.go new file mode 100644 index 0000000..e69de29 diff --git a/internal/middleware/cors.go b/internal/middleware/cors.go new file mode 100644 index 0000000..e69de29 diff --git a/internal/model/comment.go b/internal/model/comment.go new file mode 100644 index 0000000..e69de29 diff --git a/internal/model/like.go b/internal/model/like.go new file mode 100644 index 0000000..e69de29 diff --git a/internal/repository/comment_repo.go b/internal/repository/comment_repo.go new file mode 100644 index 0000000..e69de29 diff --git a/internal/repository/like_repo.go b/internal/repository/like_repo.go new file mode 100644 index 0000000..e69de29 diff --git a/internal/router/router.go b/internal/router/router.go new file mode 100644 index 0000000..e69de29 diff --git a/internal/service/comment_service.go b/internal/service/comment_service.go new file mode 100644 index 0000000..e69de29 diff --git a/internal/service/like_service.go b/internal/service/like_service.go new file mode 100644 index 0000000..e69de29 diff --git a/migrations/001_create_likes.sql b/migrations/001_create_likes.sql new file mode 100644 index 0000000..e69de29 diff --git a/migrations/002_create_comments.sql b/migrations/002_create_comments.sql new file mode 100644 index 0000000..e69de29