A progressive Node.js framework for building efficient and scalable server-side applications.
Nest framework TypeScript starter repository.
$ npm install
# development
docker-compose -f docker-compose.dev.yml up --build
ibgecode | uf | name |
---|---|---|
43 | RS | Rio Grande do Sul |
42 | SC | Santa Catarina |
ibgecode | name | stateId |
---|---|---|
4300034 | Aceguá | 82 |
4300059 | Água Santa | 82 |
4300109 | Agudo | 82 |
4200101 | Abelardo Luz | 83 |
4200200 | Agrolândia | 83 |
4200051 | Abdon Batista | 83 |
name | description | code |
---|---|---|
Soja | A soja, também conhecida como feijão-soja e feijão-chinês, é uma planta pertence à família Fabaceae | A1222 |
Milho | O milho, um conhecido cereal cultivado em grande parte do mundo, é extensivamente utilizado como alimento humano ou para ração animal devido às suas qualidades nutricionais | A1223 |
Algodão | O algodão é uma fibra branca que cresce em volta das sementes de algumas espécies do gênero Gossypium, família Malvaceae | A1224 |
Café | O café é uma bebida produzida a partir dos grãos torrados do fruto do cafeeiro. É servido tradicionalmente quente, mas também pode ser consumido gelado. | A1225 |
Cana de Açucar | Cana-de-açúcar é um grupo de espécies de gramíneas perenes altas do gênero Saccharum, tribo Andropogoneae, nativas das regiões tropicais do sul da Ásia e da Melanésia e utilizadas principalmente para a produção de açúcar e etanol | A1226 |
-
Mapeamento/modelagem de tabelas
-
Subir ambiente docker
- api
- postgres
-
Configuração para acesso a DB
- TypeORM
- Separar configuração TypeORM em módulo específico
- Utilizar objeto de configurações
-
Configuração Swagger
https://docs.nestjs.com/openapi/introduction
npm install --save @nestjs/swagger swagger-ui-express
import { NestFactory } from '@nestjs/core'; import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger'; import { AppModule } from './app.module'; async function bootstrap() { const app = await NestFactory.create(AppModule); const config = new DocumentBuilder() .setTitle('Cats example') .setDescription('The cats API description') .setVersion('1.0') .addTag('cats') .build(); const document = SwaggerModule.createDocument(app, config); SwaggerModule.setup('api', app, document); await app.listen(3000); } bootstrap();
-
Implementar CRUD
- Producer
-
DTO
-
Entity
-
Import TypeOrmModule.forFeature
//example @Module({ imports: [DatabaseModule, TypeOrmModule.forFeature([UserEntity])], controllers: [AppController], providers: [AppService], })
-
Swagger
-
CRUD service
-
Validação
- CPF/CNPJ
-
Testes Unitários Service
-
Testes Unitários Controller
-
- ProducerFarm
- DTO
- Entity
- Import TypeOrmModule.forFeature
- Swagger
- CRUD service
- Validações
- Testes Unitários Service
- Testes Unitários Controller
- Configurar migrations
- Crop
- DTO
- Entity
- Import TypeOrmModule.forFeature
- Controller
- Swagger
- Somente findAll
- CRUD service
- Seeds/Migrations data
- State
- DTO
- Entity
- Import TypeOrmModule.forFeature
- Controller
- Swagger
- Somente findAll
- FindOne (with districts)
- CRUD service
- Seeds/Migrations data
- District (era para ser city). Me atrabalhei 😵
- DTO
- Entity
- Import TypeOrmModule.forFeature
- Seeds/Migrations data
- ProducerFarm
- Refactoring add District
- Refactoring CRUD Crop
- Dashboard
- Somente get
- Producer
-
Exception Filters
-
Validation Pipe
-
Router Module
- ProducerFarmCrop? (se extra columns na tabela de ligação) one-many — many-one
- DTO
- Entity
- Import TypeOrmModule.forFeature
- Controller
- Swagger
- CRUD service
- Validações
- Testes Unitários Service
- Testes Unitários Controller