https://github.com/q23isline/studyaspdotnetcore
ASP.NET Core Web API と Vue.js の勉強用リポジトリ
https://github.com/q23isline/studyaspdotnetcore
docker-compose dotnet github-actions nginx sql-server swagger typescript vuejs
Last synced: 26 days ago
JSON representation
ASP.NET Core Web API と Vue.js の勉強用リポジトリ
- Host: GitHub
- URL: https://github.com/q23isline/studyaspdotnetcore
- Owner: q23isline
- License: mit
- Created: 2024-11-09T03:37:23.000Z (about 1 year ago)
- Default Branch: develop
- Last Pushed: 2025-01-13T09:59:55.000Z (about 1 year ago)
- Last Synced: 2025-01-17T12:26:18.288Z (about 1 year ago)
- Topics: docker-compose, dotnet, github-actions, nginx, sql-server, swagger, typescript, vuejs
- Language: C#
- Homepage:
- Size: 363 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# StudyAspDotnetCore
[](./LICENSE)

[](https://github.com/q23isline/StudyAspDotnetCore/actions/workflows/dotnet.yml)
[](https://github.com/q23isline/StudyAspDotnetCore/actions/workflows/nodejs.yml)
[](https://github.com/q23isline/StudyAspDotnetCore/actions/workflows/dockerfile.yml)
[](https://github.dev/q23isline/StudyAspDotnetCore)
[](https://dotnet.microsoft.com/ja-jp/)
[](https://learn.microsoft.com/ja-jp/sql/sql-server/)
[](https://nodejs.org)
[](https://www.npmjs.com/)
[](https://ja.vuejs.org/)
ASP.NET Core Web API と Vue.js の勉強用リポジトリ
- [バックエンド開発ガイドライン](./backend/README.md)
- [フロントエンド開発ガイドライン](./frontend/README.md)
## 前提
- インストール
- [Windows Subsystem for Linux](https://learn.microsoft.com/ja-jp/windows/wsl/)
- [Git](https://git-scm.com/)
- [Docker Desktop](https://www.docker.com/ja-jp/products/docker-desktop/)
- [Visual Studio Code](https://code.visualstudio.com/)
- [SQL Server Management Studio](https://learn.microsoft.com/ja-jp/sql/ssms/)
## はじめにやること
1. Windows Subsystem for Linux 上でプログラムダウンロード
```bash
git clone https://github.com/q23isline/StudyAspDotnetCore.git
```
2. リポジトリのカレントディレクトリへ移動
```bash
cd StudyAspDotnetCore
```
3. 開発準備
```bash
cp frontend/.vscode/settings.json.default frontend/.vscode/settings.json
```
4. アプリ立ち上げ
```bash
docker compose build --no-cache
docker compose down -v
docker compose up -d
docker compose exec backend dotnet restore
docker compose exec backend dotnet tool restore
docker compose exec backend dotnet ef database update
docker compose exec frontend npm install
```
## 日常的にやること
### システム起動
```bash
# DB、バックエンド、フロントエンドコンテナ起動
docker compose up -d
# バックエンド起動
docker compose exec backend dotnet watch run --urls "http://0.0.0.0:8080"
# フロントエンド起動
docker compose exec frontend npm run dev -- --host
```
### システム終了
```bash
# フロントエンド起動ターミナルで Ctrl + c
# バックエンド起動ターミナルで Ctrl + c
docker compose down
```
## 動作確認
### URL
#### バックエンド
#### フロントエンド
DevTools の起動
## Permission Deniedエラーが出た時の解決方法
```bash
# プロジェクト全体のファイルすべてに読み込み、書き込み権限を与える
sudo chmod -R ugo+rw ./
# インストールしたライブラリに実行権限を含めた全権限を与える
sudo chmod -R 777 backend/bin backend/obj frontend/node_modules
```
## データベースへの接続
| 項目名 | 設定値 |
| ------------------------ | --------------- |
| サーバー名 | 127.0.0.1 |
| 認証 | SQL Server 認証 |
| ユーザー名 | sa |
| パスワード | Passw0rd |
| サーバー証明書を信頼する | ON |
## Dockerfile コード静的解析実行
```bash
docker run --rm -i hadolint/hadolint < $(pwd)/docker/local/dotnet/Dockerfile
docker run --rm -i hadolint/hadolint < $(pwd)/docker/local/mssql/Dockerfile
docker run --rm -i hadolint/hadolint < $(pwd)/docker/local/node/Dockerfile
docker run --rm -i hadolint/hadolint < $(pwd)/docker/prod/dotnet/Dockerfile
docker run --rm -i hadolint/hadolint < $(pwd)/docker/prod/mssql/Dockerfile
docker run --rm -i hadolint/hadolint < $(pwd)/docker/prod/nginx/Dockerfile
```
## ログ出力場所
| サービス | ログ出力場所 |
| -------------------- | ------------- |
| Node.js | logs/frontend |
| ASP.NET Core(開発) | backend/Logs |
| ASP.NET Core(本番) | logs/backend |
| SQL Server | logs/db |
| NGINX(本番) | logs/web |
## 本番想定でのアプリ立ち上げ
1. 本番想定のアプリ起動準備
```bash
cp docker/prod/nginx/ssl/server.crt.default docker/prod/nginx/ssl/server.crt
cp docker/prod/nginx/ssl/server.csr.default docker/prod/nginx/ssl/server.csr
cp docker/prod/nginx/ssl/server.key.default docker/prod/nginx/ssl/server.key
```
2. アプリ立ち上げ
```bash
cd StudyAspDotnetCore
docker compose -f docker-compose-prod.yml build --no-cache
docker compose -f docker-compose-prod.yml --profile migrator up migrator
docker compose -f docker-compose-prod.yml up -d
```
### 本番想定での URL
## 本番想定でのアプリ終了
```bash
docker compose -f docker-compose-prod.yml down
docker compose -f docker-compose-prod.yml --profile migrator down
```