Skip to content

Commit 5a67d3c

Browse files
authored
Develop (#17)
2 parents ffc7185 + 8bf771f commit 5a67d3c

1 file changed

Lines changed: 72 additions & 46 deletions

File tree

README.md

Lines changed: 72 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,39 @@
1-
# Vagas Full Monorepo
1+
# Painel de Vagas
22

3-
Projeto reorganizado em monorepo com dois workspaces:
3+
Uma plataforma interna para transformar arquivos XLSX de vagas em uma experiencia visual rapida, filtravel e pronta para decisao.
44

5-
- `frontend`: dashboard React/Vite/Tailwind
6-
- `backend`: scraper + API Express para leitura de vagas em XLSX
5+
O projeto esta organizado em monorepo e conecta duas frentes:
76

8-
## Estrutura
7+
- frontend: dashboard em React + Vite + Tailwind
8+
- backend: scraper + API em Express para leitura e exposicao dos dados
9+
10+
## O que ja entregamos
11+
12+
- Dashboard com visual profissional em tema claro e escuro
13+
- Leitura automatica dos arquivos XLSX gerados no fluxo de scraping
14+
- Busca global por titulo, empresa, local e link
15+
- Filtros por palavra-chave
16+
- Selecao de arquivo de origem para alternar datasets
17+
- Tabela paginada com controle de itens por pagina
18+
- Endpoint de saude e endpoints de listagem/consulta de vagas
19+
- Suite de testes (unitarios + integracao) em frontend e backend
20+
- Cobertura de testes com alvo minimo de 80%
21+
22+
## Demo
23+
24+
### Interface em tema escuro e claro
25+
26+
27+
28+
<img width="1870" height="847" alt="Image" src="https://github.com/user-attachments/assets/37de83d7-e841-4d9c-a48f-efc2c3bb27bc" />
29+
30+
31+
<img width="1839" height="874" alt="Image" src="https://github.com/user-attachments/assets/6b2e1a50-4b0a-4904-aafa-95667ca8928c" />
32+
33+
34+
<img width="1861" height="695" alt="Image" src="https://github.com/user-attachments/assets/fbf5b122-af42-4a52-b457-23243b0175a9" />
35+
36+
## Arquitetura do produto
937

1038
```text
1139
.
@@ -15,31 +43,36 @@ Projeto reorganizado em monorepo com dois workspaces:
1543
└─ package.json
1644
```
1745

46+
## Stack
47+
48+
- Frontend: React 19, TypeScript, Vite 8, Tailwind CSS
49+
- Backend: Node.js 22+, Express 5, XLSX, Axios, Cheerio
50+
- Qualidade: Vitest, Testing Library, coverage v8
51+
- Orquestracao local: npm workspaces + Docker Compose
52+
1853
## Requisitos
1954

2055
- Node.js 22+
2156
- npm
2257
- Docker (opcional)
2358

24-
## Instalar dependencias
59+
## Comecando rapido
2560

26-
Na raiz do projeto:
61+
Instale tudo na raiz do monorepo:
2762

2863
```bash
2964
npm install
3065
```
3166

32-
Como o projeto usa `workspaces`, esse comando instala dependencias da raiz e dos pacotes `frontend` e `backend`.
67+
Como usamos workspaces, esse comando instala as dependencias da raiz e tambem de `frontend` e `backend`.
3368

34-
## Rodar em desenvolvimento
35-
36-
Subir frontend e backend juntos:
69+
Suba a plataforma completa em desenvolvimento:
3770

3871
```bash
3972
npm run dev
4073
```
4174

42-
Rodar separadamente:
75+
Subida separada por servico:
4376

4477
```bash
4578
npm run dev:frontend
@@ -48,37 +81,38 @@ npm run dev:backend
4881

4982
## Scripts principais
5083

51-
Na raiz:
84+
### Raiz
5285

5386
- `npm run dev`: frontend + backend juntos
5487
- `npm run dev:frontend`: sobe apenas frontend
55-
- `npm run dev:backend`: sobe apenas backend (API)
56-
- `npm run scraper`: executa scraping via backend workspace
57-
- `npm run scraper:watch`: scraping com nodemon via backend workspace
58-
- `npm run test`: testes do backend
88+
- `npm run dev:backend`: sobe apenas backend
89+
- `npm run scraper`: executa scraping no backend
90+
- `npm run scraper:watch`: scraping com hot reload
91+
- `npm run test`: executa testes do backend
5992
- `npm run build`: build do frontend
6093
- `npm run validate`: teste backend + lint/build frontend
61-
- `npm run test:coverage`: coverage frontend + backend (threshold 80%)
94+
- `npm run test:coverage`: coverage frontend + backend
6295

63-
No backend (`backend/package.json`):
96+
### Backend
6497

6598
- `npm run start`: sobe API (`src/server.js`)
6699
- `npm run dev`: sobe API (`src/server.js`)
67100
- `npm run scraper`: executa scraping (`index.js`)
68-
- `npm run scraper:watch`: scraping com hot reload (`nodemon index.js`)
69-
- `npm run api`: alias para subir API (`src/server.js`)
101+
- `npm run scraper:watch`: scraping com nodemon
102+
- `npm run api`: alias para subir API
70103
- `npm run test`: testes com Vitest
104+
- `npm run test:coverage`: cobertura com Vitest
71105
- `npm run test:watch`: testes em modo watch
72-
- `npm run validate`: valida backend (`npm test`)
106+
- `npm run validate`: valida backend
73107

74-
No frontend (`frontend/package.json`):
108+
### Frontend
75109

76110
- `npm run dev`: Vite dev server
77111
- `npm run build`: build de producao
78112
- `npm run lint`: lint com ESLint
79113
- `npm run preview`: preview do build
80114
- `npm run test`: testes com Vitest
81-
- `npm run test:coverage`: coverage com Vitest (threshold 80%)
115+
- `npm run test:coverage`: coverage com Vitest
82116

83117
## Testes e cobertura
84118

@@ -87,36 +121,33 @@ Estrutura de testes:
87121
- backend: `backend/tests/unit` e `backend/tests/integration`
88122
- frontend: `frontend/tests/unit` e `frontend/tests/integration`
89123

90-
Cobertura minima exigida:
124+
Meta minima de cobertura:
91125

92126
- lines >= 80%
93127
- statements >= 80%
94128
- functions >= 80%
95129
- branches >= 80%
96130

97-
Comandos:
131+
Comandos de cobertura:
98132

99133
```bash
100134
npm run test:coverage
101135
npm --workspace frontend run test:coverage
102136
npm --workspace backend run test:coverage
103137
```
104138

105-
Guia de boas praticas de testes: [TESTING.md](https://github.com/Benevanio/Jobs_Scraper_Global/blob/master/TESTING.md).
139+
Guia de boas praticas: [TESTING.md](TESTING.md)
106140

107141
## Variaveis de ambiente
108142

109-
Arquivo base:
110-
111-
- `backend/.env.example`
143+
Arquivos:
112144

113-
Arquivo local:
114-
115-
- `backend/.env`
145+
- `backend/.env.example` (base)
146+
- `backend/.env` (local)
116147

117148
## Docker
118149

119-
Subir frontend e backend:
150+
Subir frontend + backend:
120151

121152
```bash
122153
docker compose up --build
@@ -128,7 +159,7 @@ Subir em background:
128159
docker compose up --build -d
129160
```
130161

131-
Parar e remover containers/rede do projeto:
162+
Parar e remover containers/rede:
132163

133164
```bash
134165
docker compose down
@@ -140,30 +171,25 @@ Rebuild apenas backend:
140171
docker compose build backend
141172
```
142173

143-
Executar scraping via Docker (execucao pontual):
174+
Rodar scraping pontual via container:
144175

145176
```bash
146177
docker compose run --rm backend node index.js
147178
```
148179

149-
Ver logs dos servicos:
180+
Logs:
150181

151182
```bash
152183
docker compose logs -f
153-
```
154-
155-
Ver logs apenas do backend:
156-
157-
```bash
158184
docker compose logs -f backend
159185
```
160186

161-
Servicos:
187+
Servicos em desenvolvimento:
162188

163-
- `frontend`: http://localhost:5173
164-
- `backend`: http://localhost:3001
189+
- frontend: http://localhost:5173
190+
- backend: http://localhost:3001
165191

166-
A API le planilhas de `backend/output/`.
192+
A API le planilhas localizadas em `backend/output/`.
167193

168194
## Endpoints da API
169195

0 commit comments

Comments
 (0)