An open API service indexing awesome lists of open source software.

https://github.com/vndevteam/nestjs-turbo

Monorepo with NestJS boilerplate, Next.js, Nextra docs & Turbo
https://github.com/vndevteam/nestjs-turbo

mysql nestjs nextjs nextra postgres turborepo typeorm

Last synced: 11 months ago
JSON representation

Monorepo with NestJS boilerplate, Next.js, Nextra docs & Turbo

Awesome Lists containing this project

README

          

# NestJS Turborepo Monorepo


Turborepo Logo


Nest logo
TypeORM logo
PostgreSQL logo
Jest logo
Prettier logo
ESLint logo

---

[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/vndevteam/nestjs-turbo)
[![CI](https://github.com/vndevteam/nestjs-turbo/actions/workflows/ci.yml/badge.svg)](https://github.com/vndevteam/nestjs-turbo/actions/workflows/ci.yml)

## Introduction

This is a monorepo built with [Turborepo](https://turbo.build/repo) and [NestJS](https://nestjs.com/). The project includes multiple applications and shared libraries, all managed in a single repository.

## Project Structure

### Applications (Apps)

- `apps/realworld-api`: API backend for RealWorld application
- `apps/realworldx-api`: Extended API backend for RealWorld application
- `apps/web`: Web frontend application
- `apps/docs`: Project documentation

### Packages

- `packages/api`: Common library for APIs
- `packages/postgresql-typeorm`: TypeORM configuration and utilities for PostgreSQL
- `packages/mysql-typeorm`: MySQL configuration with TypeORM
- `packages/nest-common`: Common modules and services for NestJS
- `packages/ui`: UI components library
- `packages/eslint-config`: ESLint configuration
- `packages/typescript-config`: TypeScript configuration

## System Requirements

- Node.js >= 18.x
- pnpm >= 8.x
- Docker (optional, for development environment)

## Installation

```bash
# 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
```

## Development

```bash
# Run all applications in development mode
pnpm dev

# Run a specific application
pnpm dev --filter=realworld-api
pnpm dev --filter=web
```

## Build

```bash
# Build all applications and packages
pnpm build

# Build a specific application
pnpm build --filter=realworld-api
```

## Testing

```bash
# Run all tests
pnpm test

# Run tests for a specific application
pnpm test --filter=realworld-api
```

## Deployment

Each application can be deployed independently. See the README of each application for detailed deployment instructions.

## Development Process

1. Create a new branch from `develop`
2. Make changes
3. Create pull request
4. Wait for review and merge

## Support

If you encounter any issues or have questions, please create an issue on GitHub.

## License

This project is licensed under the [MIT License](LICENSE).