Skip to content

Commit

Permalink
Add common docs
Browse files Browse the repository at this point in the history
  • Loading branch information
Nlkomaru committed Nov 7, 2024
1 parent d7e64dd commit cc88a18
Show file tree
Hide file tree
Showing 8 changed files with 125 additions and 24 deletions.
5 changes: 2 additions & 3 deletions .github/workflows/backend-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,6 @@ permissions:
contents: read
pull-requests: write

defaults:
run:
working-directory: member-portal-backend

jobs:
golangci:
Expand All @@ -34,9 +31,11 @@ jobs:
- uses: actions/setup-go@v5
with:
go-version: stable

- name: golangci-lint
uses: golangci/golangci-lint-action@v6
with:
working-directory: member-portal-backend
version: v1.60

- name: Set final commit status
Expand Down
16 changes: 4 additions & 12 deletions .github/workflows/docs-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,12 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: install pipenv
run: |
python -m pip install --upgrade pip
python -m pip install pipenv
- name: lock package version
run: pipenv lock

- name: install packages
run: pipenv sync --dev
python-version: 3.12
- run: |
pip install mkdocs-material
- name: copy swagger
run: |
cp -r -f ./swagger ./docs/docs/swagger
- run: pipenv shell mkdocs gh-deploy --force --config-file ./docs/mkdocs.yml
- run: mkdocs gh-deploy --config-file ./docs/mkdocs.yml
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,7 @@
docs/docs/swagger
docs/site

.idea
.idea

member-portal-backend/app/**
member-portal-backend/app-local/**
31 changes: 31 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,37 @@
# member-portal
kstmメンバーであることを確認し、また事務処理を簡潔化するためのポータルサイト

[Wiki](https://kstm-su.github.io/member-portal/)

## Frontend
### Docker起動方法
1. Dockerfileのあるディレクトリに移動
2. `docker build -t <image_name> .` を実行(image_nameは自由に設定)
3. `docker run -p 3000:3000 -d <image_name>` を実行
4. `http://localhost:3000` にアクセス

※ ローカルで起動する場合は、`npm run dev` を実行

## Backend

### Docker起動方法
1. Dockerfileのあるディレクトリに移動
2. `docker build -t <image_name> .` を実行(image_nameは自由に設定)
3. `docker run -p 3001:8080 -d <image_name>` を実行
4. `http://localhost:3001` にアクセス


## Common

### APIドキュメント確認方法
1. `cd swagger``swagger`ディレクトリに移動します
2. `npx @redocly/cli preview-docs documentation.yml`を実行します
3. `http://localhost:8080/`にアクセス

### Mockサーバーの立て方
1. `swagger/README.md` の "Getting started" の手順を行う
2. "Mock API" の手順を `documentation.yml` と同じディレクトリにて行う
3. `http://localhost:4010`にモックサーバーが立つ



43 changes: 43 additions & 0 deletions docs/docs/common/about-this.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# 当ドキュメントについて

このドキュメントは、[MkDocs-material](https://squidfunk.github.io/mkdocs-material/)を使用して作成されました。

## 目的

今後の開発の参入障壁を低くするために、どのような技術スタックを利用し、何を目的としているかを示すため。

## 編集するには
`docs/docs`にドキュメントの本体が配置されているため、そちらを編集してください。<br>
また、新たにファイルを追加する場合は、`mkdocs.yml`にある`nav`に追加してください。

## 表示方法

### ローカルでの表示

以下のコマンドを実行することで、ローカルでの表示が可能です。

#### 事前準備

```bash
pip install mkdocs-material
```

#### Linux

```bash
cd docs
./start.sh
```

#### Windows

`docs/docs``swagger`をコピーしたのち、以下のコマンドを実行してください。

```bash
cd docs
mkdocs serve
```

### GitHub Pagesでの表示

GitHub Pagesでの表示は、[こちら](https://kstm-su.github.io/member-portal/)からご覧いただけます。
24 changes: 24 additions & 0 deletions docs/docs/common/api-docs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# APIドキュメントについて

## 目的
OpenAPIを利用してAPIドキュメントを作成することで、フロントエンドとバックエンドの実装を隠蔽し、APIの定義をインターフェースとして利用することにより、開発効率を向上させる。

## 仕様
- OpenAPI 3.0.0
- ファイル形式: YAML
- ファイル名: documentation.yaml
- ファイルの配置場所: /swagger

## ファイル構成
`/components`: OpenAPIのコンポーネントを定義する <br>
`/paths`: APIのエンドポイントを定義する <br>
`documentation.yaml`: OpenAPIの定義を記述するファイル

## APIドキュメントの確認方法
### Github Pagesで確認する方法
masterブランチのAPIドキュメントについては[こちら](/member-portal/redoc/index.html)で確認できます。

### ローカルで確認する方法
1. `cd swagger``swagger`ディレクトリに移動します
2. `npx @redocly/cli preview-docs documentation.yml`を実行します
3. `http://localhost:8080/`にアクセス
10 changes: 2 additions & 8 deletions docs/docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,7 @@ kstmメンバーであることを確認し、また事務処理を簡潔化す

### APIドキュメント確認方法

#### Github Pagesで確認する方法
masterブランチのAPIドキュメントについては[こちら](redoc/index.html)で確認できます。

#### ローカルで確認する方法
1. `cd swagger``swagger`ディレクトリに移動します
2. `npx @redocly/cli preview-docs documentation.yml`を実行します
3. `http://localhost:8080/`にアクセス

### Mockサーバーの立て方
#### Mockサーバーとは
Expand All @@ -28,9 +22,9 @@ APIのエンドポイントを実際に立てずに、APIのレスポンスを
## 依存ソフトウェア

API Docmentation: [redocly cli](https://redocly.com/docs/cli) <br>
採用理由 : openapi形式のドキュメントを生成するため、swagger
採用理由 : openapi形式のドキュメントを生成および表示するため。 <br>
利用場面: apiのドキュメント生成および表示

Container runtime: [Docker](https://www.docker.com/) <br>
採用理由: 事実上のデファクトスタンダードであるため
採用理由: 事実上のデファクトスタンダードであるため

15 changes: 15 additions & 0 deletions docs/mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,21 @@ markdown_extensions:
- pymdownx.superfences
- pymdownx.tasklist:
custom_checkbox: true
nav:
- Home:
- 初めに: index.md
- Backend:
- セットアップ: backend/index.md
- 実装機能: backend/feature.md
- コンフィグ: backend/config.md
- 技術スタック: backend/technology-stack.md
- Frontend:
- セットアップ: frontend/index.md
- 技術スタック: frontend/technology-stack.md
- Common:
- APIドキュメント: common/api-docs.md
- 当ドキュメントについて: common/about-this.md
- Redocly: redoc/index.html
plugins:
- search:
lang: ja
Expand Down

0 comments on commit cc88a18

Please sign in to comment.