diff --git a/README.md b/README.md
index 9ecdbbe..bf99970 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,12 @@
# Configuração do Projeto Python
-Este guia descreve o passo a passo para configurar o ambiente de desenvolvimento de um projeto Python, incluindo a preparação do ambiente virtual, instalação de dependências e configuração do banco de dados.
+Este guia descreve o passo a passo para configurar o ambiente de desenvolvimento e produção de um projeto Python, incluindo a preparação do ambiente virtual, instalação de dependências, configuração do banco de dados e ajuste de desempenho com múltiplos núcleos de CPU.
---
## 1. Clonar o Projeto
-Primeiro, clone o repositório do projeto a partir do Git:
+Clone o repositório do projeto a partir do Git:
```bash
git clone https://git.oriustecnologia.com/OriusTecnologia/saas_api.git
@@ -16,7 +16,7 @@ git clone https://git.oriustecnologia.com/OriusTecnologia/saas_api.git
## 2. Criar o Ambiente Virtual
-O uso de um **ambiente virtual** garante que as bibliotecas instaladas para este projeto não afetem o Python global da sua máquina.
+Crie um **ambiente virtual** isolado para o projeto:
```bash
python -m venv venv
@@ -26,14 +26,13 @@ python -m venv venv
## 3. Ativar o Ambiente Virtual
-Ative o ambiente virtual antes de instalar as dependências ou executar a aplicação.
+Ative o ambiente virtual antes de instalar as dependências:
```bash
venv\Scripts\activate
```
-> **Observação:**
-> Em sistemas Unix (Linux/Mac), o comando pode ser:
+> **Em sistemas Linux/Mac:**
>
> ```bash
> source venv/bin/activate
@@ -43,22 +42,33 @@ venv\Scripts\activate
## 4. Instalar Dependências do Sistema
-A biblioteca de criptografia utilizada no projeto requer uma extensão da Microsoft para ser instalada.
-Baixe e instale o **Microsoft C++ Build Tools** através do link abaixo:
+O projeto utiliza bibliotecas que dependem do **Microsoft C++ Build Tools** (Windows) ou **build-essential** (Linux).
+### Windows
+
+Baixe e instale:
[https://visualstudio.microsoft.com/pt-br/visual-cpp-build-tools/](https://visualstudio.microsoft.com/pt-br/visual-cpp-build-tools/)
-Durante a instalação, selecione o pacote:
+Selecione o pacote:
```
Desktop Development With C++
```
+### Linux
+
+Execute no terminal:
+
+```bash
+sudo apt update
+sudo apt install -y build-essential libpq-dev
+```
+
---
## 5. Instalar as Bibliotecas do Projeto
-Com o ambiente virtual **ativado**, instale as dependências listadas no arquivo `requirements.txt`:
+Com o ambiente virtual **ativado**, instale as dependências:
```bash
pip install -r requirements.txt
@@ -68,19 +78,19 @@ pip install -r requirements.txt
## 6. Configurar o Banco de Dados
-O projeto utiliza um banco **Firebird**.
-Edite o arquivo de configuração localizado em:
+O projeto utiliza o banco **Firebird**.
+Edite o arquivo de configuração em:
```
api/config/database/firebird.json
```
-Exemplo do conteúdo padrão:
+Exemplo:
```json
{
"host": "localhost",
- "name": "D:/Orius/Base/CAIAPONIA.FDB",
+ "name": "/data/base/CAIAPONIA.FDB",
"port": 3050,
"user": "SYSDBA",
"password": "",
@@ -93,50 +103,139 @@ Exemplo do conteúdo padrão:
}
```
-### Ajustes Necessários:
+**Campos:**
-* **host**: Endereço do servidor do banco de dados.
-* **name**: Caminho completo do arquivo `.FDB`.
-* **port**: Porta do Firebird (padrão: `3050`).
-* **user**: Usuário do banco de dados.
-* **password**: Senha do usuário configurado.
+| Campo | Descrição |
+| ------------------- | ---------------------------------- |
+| `host` | Endereço do servidor Firebird |
+| `name` | Caminho completo do arquivo `.FDB` |
+| `port` | Porta (padrão `3050`) |
+| `user` | Usuário do banco |
+| `password` | Senha do usuário |
+| `charset` | Codificação recomendada: `UTF8` |
+| `pool.size` | Conexões mínimas por núcleo |
+| `pool.max_overflow` | Conexões extras sob demanda |
---
-## 7. Iniciar a Aplicação
+## 7. Modo Desenvolvimento
-Com o ambiente virtual **ativado**, execute o comando abaixo para iniciar a aplicação:
+Para ambiente **local**, execute:
```bash
uvicorn main:app --reload
```
-> **Dica:**
-> O parâmetro `--reload` reinicia automaticamente a aplicação sempre que houver alterações no código.
+> O parâmetro `--reload` reinicia a aplicação automaticamente quando há alterações no código.
----
+Acesse:
-## 8. Testando a Aplicação
-
-Após iniciar a aplicação, abra o navegador e acesse o seguinte endereço:
-
-```http
+```
http://localhost:8000/docs
```
-Você deverá visualizar a interface do **Swagger**, onde estarão listados todos os endpoints disponíveis da API.
+---
-> **Observação:**
-> O Swagger permite testar os endpoints diretamente pelo navegador, sem necessidade de ferramentas externas como Postman ou Insomnia.
+## 8. Modo Produção
+
+No ambiente de **produção**, o ideal é usar o **Gunicorn** como gerenciador de processos, com o **Uvicorn** como worker ASGI.
+
+### Instalação
+
+```bash
+pip install gunicorn uvicorn
+```
+
+### Execução com múltiplos núcleos
+
+Use o comando abaixo para inicializar a aplicação com vários *workers* (núcleos):
+
+```bash
+gunicorn main:app \
+ -k uvicorn.workers.UvicornWorker \
+ --workers 4 \
+ --bind 0.0.0.0:8000 \
+ --timeout 120 \
+ --log-level info
+```
+
+#### Parâmetros explicados
+
+| Parâmetro | Função |
+| ---------------------------------- | ---------------------------------------- |
+| `-k uvicorn.workers.UvicornWorker` | Usa o Uvicorn como worker ASGI |
+| `--workers 4` | Define o número de núcleos usados |
+| `--bind 0.0.0.0:8000` | Expõe a aplicação em todas as interfaces |
+| `--timeout 120` | Tempo limite de resposta (segundos) |
+| `--log-level info` | Define o nível de log padrão |
+
+> **Dica:** o número de workers ideal é calculado por:
+>
+> ```
+> (número_de_CPUs * 2) + 1
+> ```
+>
+> Exemplo: para um servidor com 2 CPUs, use `--workers 5`.
---
-## Resumo dos Comandos
+### Executar em background (Linux)
-| Etapa | Comando |
-| ----------------------- | ------------------------------------------------------------------------------- |
-| Clonar o projeto | `git clone https://git.oriustecnologia.com/OriusTecnologia/saas_api.git` |
-| Criar ambiente virtual | `python -m venv venv` |
-| Ativar ambiente virtual | `venv\Scripts\activate` *(Windows)*
`source venv/bin/activate` *(Linux/Mac)* |
-| Instalar dependências | `pip install -r requirements.txt` |
-| Iniciar a aplicação | `uvicorn main:app --reload` |
\ No newline at end of file
+Para executar de forma persistente, use **systemd** ou **supervisor**.
+Exemplo com `nohup` (execução simples):
+
+```bash
+nohup gunicorn main:app -k uvicorn.workers.UvicornWorker --workers 4 --bind 0.0.0.0:8000 &
+```
+
+Para verificar se está rodando:
+
+```bash
+ps aux | grep gunicorn
+```
+
+---
+
+## 9. Logs e Monitoramento
+
+Os logs da aplicação são gerados pelo próprio Gunicorn.
+É recomendado redirecioná-los para arquivos:
+
+```bash
+gunicorn main:app \
+ -k uvicorn.workers.UvicornWorker \
+ --workers 4 \
+ --bind 0.0.0.0:8000 \
+ --access-logfile logs/access.log \
+ --error-logfile logs/error.log
+```
+
+---
+
+## 10. Estrutura Recomendada de Deploy
+
+```bash
+/app
+├── main.py
+├── api/
+├── packages/
+├── requirements.txt
+├── logs/
+│ ├── access.log
+│ └── error.log
+└── systemd/
+ └── saas_api.service
+```
+
+---
+
+## 11. Resumo dos Comandos
+
+| Etapa | Comando |
+| ------------------------ | ------------------------------------------------------------------------------------ |
+| Clonar projeto | `git clone https://git.oriustecnologia.com/OriusTecnologia/saas_api.git` |
+| Criar venv | `python -m venv venv` |
+| Ativar venv | `venv\Scripts\activate` *(Windows)*
`source venv/bin/activate` *(Linux/Mac)* |
+| Instalar dependências | `pip install -r requirements.txt` |
+| Rodar em desenvolvimento | `uvicorn main:app --reload` |
+| Rodar em produção | `gunicorn main:app -k uvicorn.workers.UvicornWorker --workers 4 --bind 0.0.0.0:8000` |