Skip to content

Commit a7cf9a4

Browse files
committed
docs: atualizando o READme (stack utilizada e como rodar a api)
1 parent 88a62ff commit a7cf9a4

4 files changed

Lines changed: 30 additions & 90 deletions

File tree

README.md

Lines changed: 26 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,22 @@ Este projeto é uma API desenvolvida para processar documentos (PDFs e páginas
2222

2323
## 🔥 Stack Utilizada
2424

25-
- **Node.js**: Plataforma de execução JavaScript.
26-
- **NestJS**: Framework modular para construção de APIs escaláveis.
27-
- **PostgreSQL**: Banco de dados relacional.
28-
- **Prisma**: ORM para manipulação do banco de dados.
29-
- **JWT**: Autenticação baseada em tokens.
30-
- **Bcrypt**: Hash seguro de senhas.
31-
- **Cheerio**: Web scraping para extração de dados de páginas HTML.
32-
- **PDF-Parse**: Extração de dados de arquivos PDF.
33-
- **Docker**: Containerização para ambientes de desenvolvimento e produção.
34-
- **Jest**: Framework de testes unitários e de integração.
25+
- **Node.js**: v20.12.2
26+
- **NestJS**: v11.0.1
27+
- **PostgreSQL**: v17.4
28+
- **PrismaORM**: v6.7.0
29+
- **JWT**: v11.0.0
30+
- **Class-validator**: v0.14.1
31+
- **Class-transformer**: v0.5.1
32+
- **Bcrypt**: v3.0.2
33+
- **Cheerio**: v1.0.0
34+
- **Axios**: v1.9.0
35+
- **Prettier**: v3.4.2
36+
- **Docker**: v26.1.1
37+
- **Jest**: v29.7.0
38+
- **Supertest**: v7.0.0
39+
- **ESLint**: v9.18.0
40+
- **Prettier**: v3.4.2
3541

3642
---
3743

@@ -90,58 +96,8 @@ No diretório raiz do projeto, execute o seguinte comando para instalar todas as
9096
npm install
9197
```
9298

93-
### 3. **Inicie a aplicação**:
94-
95-
Execute o seguinte comando para iniciar a aplicação em modo de desenvolvimento:
96-
97-
```bash
98-
npm run start:dev
99-
```
100-
10199
## 🖥️ Como Rodar a API
102100

103-
### Ambiente de Desenvolvimento
104-
105-
#### 1. **Inicie os serviços do Docker:**
106-
107-
No diretório do projeto, execute o seguinte comando para subir os contêineres Docker que irão rodar o banco de dados e a aplicação:
108-
109-
```bash
110-
docker-compose up -d postgres
111-
```
112-
113-
#### 2. **Instale as dependências:**
114-
115-
No diretório raiz do projeto, execute o seguinte comando para instalar todas as dependências necessárias:
116-
117-
```bash
118-
npm install
119-
```
120-
121-
#### 3. **Execute as migrações do Prisma:**
122-
123-
Para configurar o banco de dados com as tabelas necessárias, execute as migrações do Prisma:
124-
125-
```bash
126-
npx prisma migrate dev
127-
```
128-
129-
#### 4. **Inicie a aplicação:**
130-
131-
Para iniciar a aplicação, use o seguinte comando:
132-
133-
```bash
134-
npm run start:dev
135-
```
136-
137-
#### 5. Acesse a API
138-
139-
Após iniciar a aplicação, ela estará disponível em:
140-
141-
```bash
142-
http://localhost:3000/
143-
```
144-
145101
### Ambiente de Produção
146102

147103
#### 1. **Inicie a aplicação pelo Docker-Compose:**
@@ -152,13 +108,11 @@ No diretório do projeto, execute o seguinte comando para subir os contêineres
152108
docker-compose up -d
153109
```
154110

155-
#### 2. Acesse a API
111+
#### 2. Realize as requisições na aplicação:
156112

157-
Após iniciar a aplicação, ela estará disponível em:
113+
Após iniciar a aplicação, ela estará disponível em **http://localhost:3000/**:
158114

159-
```bash
160-
http://localhost:3000/
161-
```
115+
- [Acesse a coleção do Postman](https://web.postman.co/workspace/53cf501d-84d9-48e7-a29b-4aa5e5e57a16)
162116

163117
## 📚 Principais Rotas da API
164118

@@ -212,19 +166,23 @@ http://localhost:3000/
212166

213167
- **POST /document/pdf**:
214168

215-
- Faz upload de um PDF e processa o conteúdo.
169+
- Faz upload de um PDF, processa o conteúdo e associa a um cliente.
170+
- **Headers**:
171+
- `Authorization`: Token JWT válido, usado para obter o ID do cliente.
216172
- **Body**:
217173
- `file`: Arquivo PDF.
218174
- **Resposta**:
219175
- `document`: Dados processados do PDF (como título, conteúdo extraído, data de processamento, etc.).
220176

221177
- **POST /document/web**:
222178

223-
- Processa uma página web a partir de uma URL.
179+
- Processa uma página web a partir de uma URL e associa a um cliente.
180+
- **Headers**:
181+
- `Authorization`: Token JWT válido, usado para obter o ID do cliente.
224182
- **Body**:
225183
- `url`: URL da página web a ser processada.
226184
- **Resposta**:
227-
- `document`: Dados processados da página web.
185+
- `document`: Dados processados da página web (como título, conteúdo extraído, data de processamento, etc.).
228186

229187
## ⚙️ Testes
230188

docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
services:
22
postgres:
3-
image: postgres
3+
image: postgres:17.4
44
restart: always
55
environment:
66
POSTGRES_HOST_AUTH_METHOD: trust

package.json

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"name": "backend-challenge",
33
"version": "0.0.1",
4-
"description": "",
5-
"author": "",
4+
"description": "Teste técnico para Desenvolvedor Back-end",
5+
"author": "Renan Geraldini Leão",
66
"private": true,
77
"license": "UNLICENSED",
88
"scripts": {
@@ -13,7 +13,6 @@
1313
"start:debug": "nest start --debug --watch",
1414
"start:prod": "node dist/main",
1515
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
16-
"test": "jest",
1716
"test:watch": "jest --watch --runInBand --config ./jest.unit.config.ts",
1817
"test:cov": "jest --coverage --runInBand --config ./jest.unit.config.ts",
1918
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
@@ -72,22 +71,5 @@
7271
"tsconfig-paths": "^4.2.0",
7372
"typescript": "^5.7.3",
7473
"typescript-eslint": "^8.20.0"
75-
},
76-
"jest": {
77-
"moduleFileExtensions": [
78-
"js",
79-
"json",
80-
"ts"
81-
],
82-
"rootDir": "src",
83-
"testRegex": ".*\\.spec\\.ts$",
84-
"transform": {
85-
"^.+\\.(t|j)s$": "ts-jest"
86-
},
87-
"collectCoverageFrom": [
88-
"**/*.(t|j)s"
89-
],
90-
"coverageDirectory": "../coverage",
91-
"testEnvironment": "node"
9274
}
9375
}

src/services/auth.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Injectable /*, UnauthorizedException*/ } from '@nestjs/common'
1+
import { Injectable } from '@nestjs/common'
22
import { JwtService } from '@nestjs/jwt'
33
import { ClientRepository } from '@/repositories/client.repository'
44
import { SignInDto } from '@/dtos/auth/sign-in.dto'

0 commit comments

Comments
 (0)