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
Navegadores Suportados
- 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
- Clonar o Repositório
git clone https://github.com/your-org/woker-job.git cd woker-job - Instalar Dependências
pnpm install - Configurar Variáveis de Ambiente
cp .env.example .env # Editar .env com suas configurações - Iniciar Serviços
# Iniciar backend pnpm --filter back-end dev # Em outro terminal, iniciar frontend pnpm --filter web dev - Verificar Instalação
- Backend: http://localhost:3000
- Frontend: http://localhost:3001
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
- Build da Aplicação
pnpm build - Configurar Servidor
- Node.js 18+
- PM2 ou similar para gerenciamento de processos
- Nginx para proxy reverso
- 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
- Configurar Provedores
- Google OAuth
- GitHub OAuth
- Microsoft OAuth
- 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
- Verificar API
curl http://localhost:3000/health - Verificar Frontend
- Abrir http://localhost:3001
- Verificar se todas as páginas carregam
- Testar funcionalidades básicas
- 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
- Email: support@example.com
- Suporte Técnico: tech@example.com
- Comercial: sales@example.com
Próximos Passos
- Configurar Domínio
- Configurar DNS
- Configurar SSL
- Configurar CDN
- Configurar Monitoramento
- Configurar alertas
- Configurar dashboards
- Configurar backups
- Configurar Escalabilidade
- Configurar load balancer
- Configurar auto-scaling
- Configurar microserviços
Última Atualização: Dezembro 2024 Versão: 1.0.0