スターターキット:TurboRepoを使ったソフトウェア開発プロジェクト
このリポジトリは、革新的なソフトウェアアプリケーションの迅速な構築を可能にする、すぐに使えるツールキットとプロジェクトスケルトンを提供します。TurboRepo、NestJS、Vue 3 + Vite、TypeScript、Nuxt.jsといった先進的な技術とフレームワークを活用し、スムーズで効率的なソフトウェア開発を促進します。
目次
- 特徴と内容
- 前提条件
- はじめに
- Dockerでのはじめ方
- 環境変数
- Volar と Visual Studio Code(テイクオーバーモード)
- トップレベルスクリプト
- Visual Studio Code 拡張機能
- 機能改善とバグ報告
- 貢献
- ライセンス
特徴と内容
- TurboRepo:このリポジトリは、複数の関連リポジトリを単一プロジェクトで管理しやすくするツールであるTurboRepoに対応しています。これにより、機能開発に集中しつつTurboRepoが構成管理を担当します。
- NestJS:アプリケーションのバックエンドは、スケーラブルでモジュール化されたAPI作成を可能にするNode.jsベースのフレームワーク、NestJSで構築されています。TypeScriptと完全に統合されており、高性能で可読性の高いコードを実現します。
- Vue 3 + Vite:ユーザーインターフェースは、人気のJavaScriptフレームワークの最新バージョンであるVue 3をベースにしています。さらに、高速かつモダンなUIビルドツールであるViteを使用しています。
- TypeScript:プロジェクト全体はTypeScriptで記述されており、コードの安全性を高め、リファクタリングや保守を容易にします。
- Nuxt.js:また、このリポジトリにはVue.jsのSSR(サーバーサイドレンダリング)アプリケーションを作成するためのフレームワーク、Nuxt.jsのサンプル設定も含まれています。これによりSEO性能と高速なコンテンツロードを保証します。
- Electron: このプロジェクトはElectronを使用してデスクトップアプリケーションとしてもパッケージ化でき、クロスプラットフォームのアプリケーションを作成できます。
- Capacitor: Capacitorが統合されており、ウェブ技術を使ってネイティブモバイルアプリを構築可能です。
- Docker: Dockerを利用してアプリケーションのコンテナ化およびデプロイ管理を行います。
- Shared Package: リポジトリにはコードの再利用性と保守性を高めるための共有パッケージが組み込まれています。
- VitestおよびJestによるテスト設定: リポジトリにはVitestとJestを使ったテストの事前設定が含まれています。VueコンポーネントやTypeScriptコードのユニットテストを簡単に作成・実行可能です。提供されたテスト設定を利用し、Vitestの高速テスト機能とJestの堅牢なテストフレームワークの力を活用してください。
前提条件
開発環境にグローバルインストールを推奨します:
はじめに
1. Clone the repository
git clone https://github.com/DhivinX/turbo-starter.git2. Enter your newly-cloned folder
cd turbo-starter3. Install the project and build packages in libs folder
pnpm install4. Dev: Run web with hot reload
pnpm dev-web # or make dev-web5. Dev: Run API project with hot reload
Note that you need to create the .env file in the project root directory beforehand
You should copy the .env.example file and rename it to .env
cp .env.example .envThen you can configure database access and other server settings
pnpm dev-api # or make dev-api6. Or run API and WEB projects with hot reload parallel
pnpm dev # or make dev
Dockerの始め方
1. Clone the repository
git clone https://github.com/DhivinX/turbo-starter.git2. Enter your newly-cloned folder
cd turbo-starter3. Install the project and build packages in libs folder
pnpm install4. Copy env.example to .env.local and pass wished variables:
Change DATABASE_HOST to "postgres"
cp .env.example .env.local5. Build image:
make docker-build-local6. Run API and WEB projects development process with hot reload in docker container
make docker-run-local
環境変数
.env.example
# Frontend: API server connection configuration
VITE_WEB_DEFAULT_LOCALE="en"
VITE_WEB_API_URL="http://localhost"
VITE_WEB_API_PORT=3000Backend public url
API_PUBLIC_URL=http://localhost:3000HTTP / HTTPS server config
API_HTTP_PORT=3000Cross-Origin Resource Sharing domain origins
More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
API_HTTP_CORS=["http://localhost", "http://localhost:8080", "http://localhost:8081", "http://localhost:8082", "app://localhost", "capacitor://localhost"]Keys required for hashing passwords and tokens
They should be filled with random, unique strings
API_SECRETS_PWDSALT="123456"
API_SECRETS_JWT="123456"Database type: postgres, mysql, sqlite etc.
More info: https://typeorm.io
DATABASE_TYPE="postgres"Database connection config
DATABASE_HOST="localhost"
DATABASE_PORT=5432Database name and user credentials
DATABASE_NAME="turbonv"
DATABASE_USER="postgres"
DATABASE_PASSWORD="root"Disable this in the production version of the application
More info: https://typeorm.io/faq#how-do-i-update-a-database-schema
DATABASE_ENABLE_SYNC=true
Volar と Visual Studio Code(テイクオーバーモード)
Volar は現在 Vue - Official 拡張機能となったため、バージョン 2.0 ではテイクオーバーモードは不要です。以前にこの拡張機能を無効にしていた場合は、組み込みの TypeScript and JavaScript Language Features 拡張機能を有効にしてください。
トップレベルスクリプト
#### 開発
dev- すべてのアプリケーションをホットリロードで同時に実行dev-api- API プロジェクトをホットリロードで実行dev-web- WEB プロジェクトをホットリロードで実行dev-web-electron- WEB プロジェクトを Electron アプリケーションでホットリロード実行dev-nuxt- Nuxt アプリケーションをホットリロードで実行dev-mobile- モバイルアプリケーションをホットリロードで実行
build- すべてのパッケージとアプリケーションをビルドbuild-api- API プロジェクトアプリケーションをビルドbuild-web- WEB プロジェクトアプリケーションをビルドbuild-web-electron- WEB プロジェクトを含む Electron アプリケーションをビルドbuild-nuxt- Nuxt アプリケーションをビルドbuild-mobile- モバイルアプリケーションをビルド
start- すべてのアプリケーションを起動start-api- API プロジェクトアプリケーションを起動start-web- dist フォルダのファイルを提供するローカルの静的ウェブサーバーを起動start-nuxt- Nuxt アプリケーションを起動
mobile-android- モバイルアプリケーションをビルドし Android Studio で開くmobile-ios- モバイルアプリケーションをビルドし Xcode で開く
test- すべてのパッケージとアプリケーションのテストを実行lint- すべてのパッケージとアプリケーションのリントを実行しますclean- すべてのパッケージとアプリケーションからdistディレクトリを削除します
Visual Studio Code 拡張機能
{
"recommendations": [
"vue.volar",
"dbaeumer.vscode-eslint",
"editorconfig.editorconfig",
"visualstudioexptteam.vscodeintellicode",
"mikestead.dotenv",
"firsttris.vscode-jest-runner"
]
}
必須
vue.volar- Vue言語機能(Volar)syler.sass-indented- Sass構文のハイライト。dbaeumer.vscode-eslint- VS Code ESLint拡張機能。editorconfig.editorconfig- VS Code用のEditorConfig。
任意
mikestead.dotenv- DotENV - dotenvファイル構文のサポートvisualstudioexptteam.vscodeintellicode- IntelliCode
改善点およびバグ報告
バグを見つけた場合や改善案がある場合は、GitHubのissuesに投稿してください。
貢献
このスターターの改良案がある場合や新機能を追加したい場合は、プルリクエストを自由に送ってください。あなたの貢献が他の開発者のプロジェクト開始をより迅速にします!
ライセンス
このスターターキットはMITライセンスのもとで提供されています。
--- Tranlated By Open Ai Tx | Last indexed: 2026-05-04 ---
