This is a monorepo built with Turborepo and NestJS. The project includes multiple applications and shared libraries, all managed in a single repository.
apps/realworld-api
: API backend for RealWorld applicationapps/realworldx-api
: Extended API backend for RealWorld applicationapps/web
: Web frontend applicationapps/docs
: Project documentation
packages/api
: Common library for APIspackages/postgresql-typeorm
: TypeORM configuration and utilities for PostgreSQLpackages/mysql-typeorm
: MySQL configuration with TypeORMpackages/nest-common
: Common modules and services for NestJSpackages/ui
: UI components librarypackages/eslint-config
: ESLint configurationpackages/typescript-config
: TypeScript configuration
- Node.js >= 18.x
- pnpm >= 8.x
- Docker (optional, for development environment)
# Clone repository
git clone https://github.com/vndevteam/nestjs-turbo.git
# Install dependencies
pnpm install
# Create environment files
cp apps/realworld-api/.env.example apps/realworld-api/.env
cp apps/realworldx-api/.env.example apps/realworldx-api/.env
# Run all applications in development mode
pnpm dev
# Run a specific application
pnpm dev --filter=realworld-api
pnpm dev --filter=web
# Build all applications and packages
pnpm build
# Build a specific application
pnpm build --filter=realworld-api
# Run all tests
pnpm test
# Run tests for a specific application
pnpm test --filter=realworld-api
Each application can be deployed independently. See the README of each application for detailed deployment instructions.
- Create a new branch from
develop
- Make changes
- Create pull request
- Wait for review and merge
If you encounter any issues or have questions, please create an issue on GitHub.
This project is licensed under the MIT License.