Guia de Instalação
Introdução
@koalarx/nest é uma abstração robusta baseada em NestJS que facilita a criação de aplicações escaláveis seguindo os princípios do Domain-Driven Design (DDD).
Forma Rápida: Usando a CLI
A forma mais rápida de começar é usar a CLI oficial @koalarx/nest-cli:
bash
# Instalar a CLI globalmente
npm install -g @koalarx/nest-cli
# Criar novo projeto
koala-nest new meu-projeto
# Entrar na pasta
cd meu-projeto
# Aplicar migrations no banco de dados
bun run prisma:deploy
# Iniciar a aplicação
bun run start:dev⚠️ Importante: Após criar o projeto, você precisa executar
bun run prisma:deploypara aplicar as migrations de exemplo no banco de dados antes de iniciar a aplicação.
Pronto! Seu projeto está estruturado com todas as melhores práticas incluídas.
Instalação Manual
Se preferir configurar manualmente, siga os passos abaixo.
Pré-requisitos
- Node.js 20.18.0+ e npm 9+
- Conhecimento básico de NestJS
- PostgreSQL 12+ (para integração com banco de dados)
Instalação
1. Instalar via NPM
bash
npm install @koalarx/nest2. Instalar Dependências Necessárias
bash
npm install @nestjs/common @nestjs/core @nestjs/config @nestjs/platform-express
npm install @nestjs/swagger reflect-metadata zod dotenv
npm install @prisma/client @prisma/adapter-pg
npm install ioredis3. Configurar Ambiente
Crie um arquivo .env na raiz do seu projeto:
env
NODE_ENV=develop
DATABASE_URL=postgresql://user:password@localhost:5432/database_name
REDIS_URL=redis://localhost:6379
SWAGGER_USERNAME=admin
SWAGGER_PASSWORD=password1234. Configurar TypeScript
Atualize seu tsconfig.json:
json
{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"lib": ["ES2020"],
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"declaration": true,
"declarationMap": true,
"sourceMap": true,
"typeRoots": ["./node_modules/@types"],
"baseUrl": "./",
"paths": {
"@/*": ["src/*"]
}
},
"include": ["src"],
"exclude": ["node_modules", "dist"]
}Estrutura Básica do Projeto
Recomenda-se seguir a estrutura DDD:
src/
├── application/ # Lógica de aplicação (casos de uso, mapeadores)
├── core/ # Configurações globais
├── domain/ # Entidades, DTOs, repositórios, serviços
├── host/ # Controladores, ponto de entrada
├── infra/ # Implementações de infraestrutura
└── main.ts # Inicialização da aplicaçãoPróximos Passos
Consulte o Guia de Configuração Inicial para aprender como configurar sua primeira aplicação com Koala Nest.