Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 14 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 (3 months ago)
- Default Branch: develop
- Last Pushed: 2025-01-05T05:27:25.000Z (26 days ago)
- Last Synced: 2025-01-05T06:25:27.404Z (26 days ago)
- Topics: docker-compose, dotnet, github-actions, nginx, sql-server, swagger, typescript, vuejs
- Language: C#
- Homepage:
- Size: 355 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://img.shields.io/badge/license-MIT-green.svg)](./LICENSE)
![releases](https://img.shields.io/github/release/q23isline/StudyAspDotnetCore.svg?logo=github)
[![GitHub Actions Backend](https://github.com/q23isline/StudyAspDotnetCore/actions/workflows/dotnet.yml/badge.svg)](https://github.com/q23isline/StudyAspDotnetCore/actions/workflows/dotnet.yml)
[![GitHub Actions Frontend](https://github.com/q23isline/StudyAspDotnetCore/actions/workflows/nodejs.yml/badge.svg)](https://github.com/q23isline/StudyAspDotnetCore/actions/workflows/nodejs.yml)
[![GitHub Actions Dockerfile](https://github.com/q23isline/StudyAspDotnetCore/actions/workflows/dockerfile.yml/badge.svg)](https://github.com/q23isline/StudyAspDotnetCore/actions/workflows/dockerfile.yml)
[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=555555&color=007acc&logoColor=007acc)](https://github.dev/q23isline/StudyAspDotnetCore)[![.NET](https://img.shields.io/static/v1?logo=dotnet&label=.NET&message=v8&labelColor=555555&color=512bd4&logoColor=ffffff)](https://dotnet.microsoft.com/ja-jp/)
[![SQL Server](https://img.shields.io/static/v1?label=SQL%20Server&message=v2022&labelColor=555555&color=FFFFFF&logoColor=FFFFFF)](https://learn.microsoft.com/ja-jp/sql/sql-server/)
[![Node.js](https://img.shields.io/static/v1?logo=node.js&label=Node.js&message=v20.15.0&labelColor=555555&color=339933&logoColor=339933)](https://nodejs.org)
[![npm](https://img.shields.io/static/v1?logo=npm&label=npm&message=v10.7.0&labelColor=555555&color=CB3837&logoColor=CB3837)](https://www.npmjs.com/)
[![Vue.js](https://img.shields.io/static/v1?logo=vue.js&label=Vue.js&message=v3.5.12&labelColor=555555&color=4FC08D&logoColor=4FC08D)](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 + cdocker 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
```