Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .github/workflows/tests_deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,19 @@ jobs:
- name: Install Composer Dependencies
run: composer install --prefer-dist --no-dev --no-scripts --no-progress --optimize-autoloader

- name: Copy .env
run: php -r "file_exists('.env') || copy('.env.example', '.env');"

- name: Generate Application Key
run: php artisan key:generate

- name: Pre-generate Laravel Cache Files
run: |
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan event:cache

- name: Install Serverless Framework
run: npm install -g serverless@3

Expand Down
19 changes: 11 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ pré-processamento.

### Características Principais

- **Processamento Inteligente**: Decisão automática entre processamento síncrono e assíncrono
- **Processamento Assincrono**: Processamento feito totalmente via AWS SQS
- **Cache Inteligente**: Sistema de cache baseado em conteúdo com TTL automático
- **Arquitetura Serverless**: Escalabilidade automática usando AWS Lambda
- **URLs Assinadas**: Segurança através do CloudFront com chaves privadas
Expand All @@ -21,11 +21,11 @@ pré-processamento.
- **WorkerService**: Gerencia jobs assíncronos via SQS e DynamoDB
- **ProcessImageJob**: Worker Lambda para processamento pesado
- **StorageService**: Abstração para S3 e CloudFront
- **DynamoDBService**: Responsável por gerenciar a tabela de jobs
- **RekognitionService**: Utiliza do serviço para análise de imagens com IA

### Fluxo de Processamento

#### Processamento Assíncrono

```
Requisição → Verificar Cache na S3 → Adiciona à Fila → Retorna Informação `Retry-After`
Expand Down Expand Up @@ -157,9 +157,6 @@ serverless deploy function --function web --stage dev
```bash
# Deploy completo
make deploy-prod

# Deploy incremental
serverless deploy --stage prod
```

### Verificação do Deploy
Expand Down Expand Up @@ -203,14 +200,14 @@ serverless logs --function web --stage prod --tail

- **S3 Bucket**: Cache de imagens com lifecycle policy (90 dias)
- **DynamoDB**:
- Tabela principal para metadata
- Tabela para controle de jobs
- GSI para queries por status
- TTL automático

#### Rede e Distribuição

- **CloudFront**: CDN global com cache inteligente
- **SQS**: Fila principal + Dead Letter Queue
- **SQS**: Fila principal
- **IAM Roles**: Permissões mínimas necessárias

### Otimizações de Performance
Expand Down Expand Up @@ -248,6 +245,12 @@ serverless logs --function web --stage prod --tail
| `make remove-dev` | Remove stack de desenvolvimento |
| `make remove-prod` | Remove stack de produção |

### Outros

| Comando | Descrição |
|-----------------|------------------------------|
| `make git-save` | Atalho para commit no github |

### AWS

```bash
Expand Down