w

Guia de Instalação

Bem-vindo à nossa plataforma. Este guia irá ajudá-lo a configurar e começar a usar todas as ferramentas e funcionalidades disponíveis.

Requisitos do Sistema

  • Chrome 90+
  • Firefox 88+
  • Safari 14+
  • Edge 90+

Dispositivos Móveis

  • iOS 14+
  • Android 8+
  • Navegadores móveis modernos

Requisitos de Rede

  • Conexão com internet estável
  • Largura de banda mínima: 1 Mbps
  • Recomendado: 5+ Mbps para melhor experiência

Instalação Local (Desenvolvedores)

Pré-requisitos

  • Node.js 18.0+
  • pnpm 8.0+
  • Git 2.30+

Passos de Instalação

  1. Clonar o Repositório
    git clone https://github.com/your-org/woker-job.git
    cd woker-job
    
  2. Instalar Dependências
    pnpm install
    
  3. Configurar Variáveis de Ambiente
    cp .env.example .env
    # Editar .env com suas configurações
    
  4. Iniciar Serviços
    # Iniciar backend
    pnpm --filter back-end dev
    
    # Em outro terminal, iniciar frontend
    pnpm --filter web dev
    
  5. Verificar Instalação

Configuração de Desenvolvimento

Estrutura do Projeto

woker-job/
├── apps/
│   ├── back-end/     # API NestJS
│   └── web/          # Frontend Nuxt.js
├── packages/         # Pacotes compartilhados
└── docs/            # Documentação

Scripts Disponíveis

# Desenvolvimento
pnpm dev              # Iniciar todos os serviços
pnpm build            # Build para produção
pnpm test             # Executar testes
pnpm lint             # Verificar código

# Gerenciamento de conteúdo
pnpm content:check    # Verificar sincronização multilíngue
pnpm content:init     # Inicializar estrutura de idioma

Configuração de Produção

Docker (Recomendado)

# Build da imagem
docker build -t woker-job .

# Executar container
docker run -p 3000:3000 woker-job

Deploy Manual

  1. Build da Aplicação
    pnpm build
    
  2. Configurar Servidor
    • Node.js 18+
    • PM2 ou similar para gerenciamento de processos
    • Nginx para proxy reverso
  3. Variáveis de Ambiente de Produção
    NODE_ENV=production
    DATABASE_URL=your_database_url
    JWT_SECRET=your_jwt_secret
    

Configuração de Banco de Dados

PostgreSQL (Recomendado)

# Instalar PostgreSQL
sudo apt-get install postgresql postgresql-contrib

# Criar banco de dados
sudo -u postgres createdb woker_job

# Executar migrações
pnpm migration:run

SQLite (Desenvolvimento)

# Configurar em .env
DATABASE_URL="file:./dev.db"

Configuração de Autenticação

OAuth 2.0

  1. Configurar Provedores
    • Google OAuth
    • GitHub OAuth
    • Microsoft OAuth
  2. Variáveis de Ambiente
    GOOGLE_CLIENT_ID=your_google_client_id
    GOOGLE_CLIENT_SECRET=your_google_client_secret
    GITHUB_CLIENT_ID=your_github_client_id
    GITHUB_CLIENT_SECRET=your_github_client_secret
    

JWT

JWT_SECRET=your_jwt_secret_key
JWT_EXPIRES_IN=7d

Configuração de Email

SMTP

SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your_email@gmail.com
SMTP_PASS=your_app_password

Serviços de Email

  • SendGrid: Para envio em massa
  • Mailgun: Para transacional
  • AWS SES: Para escalabilidade

Configuração de Armazenamento

Local

STORAGE_TYPE=local
STORAGE_PATH=./uploads

Cloud Storage

# AWS S3
STORAGE_TYPE=s3
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AWS_REGION=us-east-1
AWS_BUCKET=your_bucket_name

# Google Cloud Storage
STORAGE_TYPE=gcs
GCS_PROJECT_ID=your_project_id
GCS_BUCKET=your_bucket_name

Configuração de Monitoramento

Logs

LOG_LEVEL=info
LOG_FORMAT=json

Métricas

  • Prometheus: Para métricas do sistema
  • Grafana: Para visualização
  • Sentry: Para monitoramento de erros

Configuração de Segurança

HTTPS

# Gerar certificados SSL
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365

Headers de Segurança

// Configurar no Nuxt.js
export default {
  serverMiddleware: [{ path: '/api', handler: '~/server-middleware/security.js' }],
};

Configuração de Cache

Redis

REDIS_URL=redis://localhost:6379
REDIS_PASSWORD=your_redis_password

Configuração de Cache

// Configurar no NestJS
import { CacheModule } from '@nestjs/cache-manager';
import { redisStore } from 'cache-manager-redis-store';

CacheModule.register({
  store: redisStore,
  host: 'localhost',
  port: 6379,
});

Configuração de Fila de Trabalhos

Bull Queue

REDIS_URL=redis://localhost:6379
QUEUE_PREFIX=woker-job

Configuração de Fila

// Configurar no NestJS
import { BullModule } from '@nestjs/bull';

BullModule.registerQueue({
  name: 'email',
  redis: {
    host: 'localhost',
    port: 6379,
  },
});

Verificação da Instalação

Testes Automatizados

# Testes unitários
pnpm test:unit

# Testes de integração
pnpm test:integration

# Testes end-to-end
pnpm test:e2e

Verificação Manual

  1. Verificar API
    curl http://localhost:3000/health
    
  2. Verificar Frontend
  3. Verificar Banco de Dados
    pnpm db:test
    

Solução de Problemas

Problemas Comuns

Erro de Porta em Uso

# Encontrar processo usando a porta
lsof -i :3000

# Terminar processo
kill -9 <PID>

Erro de Dependências

# Limpar cache
pnpm store prune

# Reinstalar dependências
rm -rf node_modules
pnpm install

Erro de Banco de Dados

# Verificar conexão
pnpm db:ping

# Resetar banco de dados
pnpm db:reset

Logs de Debug

# Ver logs em tempo real
pnpm logs

# Ver logs específicos
pnpm logs:api
pnpm logs:web

Atualizações

Atualização Automática

# Atualizar dependências
pnpm update

# Atualizar aplicação
git pull origin main
pnpm install
pnpm build

Migrações de Banco de Dados

# Gerar migração
pnpm migration:generate

# Executar migrações
pnpm migration:run

# Reverter migração
pnpm migration:revert

Suporte

Recursos de Ajuda

Contato

Próximos Passos

  1. Configurar Domínio
    • Configurar DNS
    • Configurar SSL
    • Configurar CDN
  2. Configurar Monitoramento
    • Configurar alertas
    • Configurar dashboards
    • Configurar backups
  3. Configurar Escalabilidade
    • Configurar load balancer
    • Configurar auto-scaling
    • Configurar microserviços

Última Atualização: Dezembro 2024 Versão: 1.0.0

Esta página foi útil?