@@ -82,12 +82,168 @@ sequenceDiagram
8282```
8383
8484## ⚙️ Como Rodar
85- [TBD]
85+
86+ ### 📋 Pré-requisitos
87+ - Docker e Docker Compose instalados
88+ - Git (para clonar o repositório)
89+
90+ ### 🚀 Início Rápido
91+
92+ 1 . ** Clone o repositório:**
93+ ``` bash
94+ git clone < repository-url>
95+ cd PyNewsServer
96+ ```
97+
98+ 2 . ** Configure as variáveis de ambiente (opcional):**
99+ ``` bash
100+ cp .env.example .env
101+ # Edite o arquivo .env conforme necessário
102+ ```
103+
104+ 3 . ** Inicie o serviço:**
105+ ``` bash
106+ docker-compose up -d
107+ ```
108+
109+ 4 . ** Acesse a aplicação:**
110+ - API: http://localhost:8000
111+ - Documentação Swagger: http://localhost:8000/docs
112+ - Health Check: http://localhost:8000/api/healthcheck
113+
86114## 🧩 Configuração Inicial
87115
88- ### ▶️ Guia de Execução Dev
116+ ### ▶️ Guia de Execução para Desenvolvimento
117+
118+ #### Usando Docker (Recomendado)
119+ ``` bash
120+ # Construir e iniciar em modo desenvolvimento
121+ docker-compose up --build
122+
123+ # Ver logs em tempo real
124+ docker-compose logs -f pynews-api
125+
126+ # Parar o serviço
127+ docker-compose down
128+ ```
129+
130+ #### Usando Poetry (Local)
131+ ``` bash
132+ # Instalar dependências
133+ poetry install
134+
135+ # Ativar ambiente virtual
136+ poetry shell
137+
138+ # Rodar a aplicação
139+ uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
140+
141+ # Rodar testes
142+ poetry run pytest
143+
144+ # Linting
145+ poetry run ruff check .
146+ poetry run ruff format .
147+ ```
148+
149+ ### ▶️ Guia de Execução para Produção
150+
151+ ``` bash
152+ # Construir imagem para produção
153+ docker-compose build --target production
154+
155+ # Iniciar em modo produção
156+ docker-compose up -d
157+
158+ # Verificar status dos containers
159+ docker-compose ps
160+
161+ # Ver logs
162+ docker-compose logs pynews-api
163+
164+ # Atualizar aplicação
165+ docker-compose pull
166+ docker-compose up -d --force-recreate
167+ ```
168+
169+ ### 🔧 Comandos Úteis
89170
90- ### ▶️ Guia de Execução Prod
171+ #### Usando Makefile (Recomendado)
172+ ``` bash
173+ # Ver todos os comandos disponíveis
174+ make help
175+
176+ # Setup completo do projeto
177+ make setup
178+
179+ # Ambiente de desenvolvimento
180+ make dev
181+
182+ # Construir e iniciar
183+ make build
184+ make up
185+
186+ # Ver logs
187+ make logs
188+
189+ # Executar testes
190+ make test
191+ make test-cov
192+
193+ # Linting e formatação
194+ make lint
195+ make format
196+
197+ # Verificar saúde da API
198+ make health
199+
200+ # Parar serviços
201+ make down
202+
203+ # Limpeza completa
204+ make clean
205+ ```
206+
207+ #### Comandos Docker Diretos
208+ ``` bash
209+ # Entrar no container
210+ docker-compose exec pynews-api bash
211+
212+ # Reiniciar apenas o serviço da API
213+ docker-compose restart pynews-api
214+
215+ # Verificar health check
216+ curl http://localhost:8000/api/healthcheck
217+
218+ # Parar e remover todos os containers e volumes
219+ docker-compose down -v
220+ ```
221+
222+ ### 🛠️ Desenvolvimento
223+
224+ #### Estrutura de Testes
225+ ``` bash
226+ # Rodar todos os testes
227+ poetry run pytest
228+
229+ # Rodar testes com coverage
230+ poetry run pytest --cov=app
231+
232+ # Rodar testes específicos
233+ poetry run pytest tests/test_auth.py
234+ ```
235+
236+ #### Linting e Formatação
237+ ``` bash
238+ # Verificar código
239+ poetry run ruff check .
240+
241+ # Formatar código
242+ poetry run ruff format .
243+
244+ # Fix automático de problemas
245+ poetry run ruff check . --fix
246+ ```
91247
92248
93249## referencias
0 commit comments