Files
avz-site/GUIA-DEV.md
T
2026-06-10 12:09:52 -03:00

4.4 KiB

============================================================================

GUIA - Como Subir o ZIP em Desenvolvimento (Dev)

============================================================================

1. DESCOMPACTAR O ZIP

# No Mac/Linux:
cd ~/Documentos  # ou onde voce guarda os projetos
unzip avanzato-site-v1.5.0-FINAL.zip -d avanzato-site

# No Windows (PowerShell):
Expand-Archive -Path "avanzato-site-v1.5.0-FINAL.zip" -DestinationPath "avanzato-site"

2. ENTRAR NA PASTA

cd avanzato-site

Estrutura que voce vera:

avanzato-site/
  src/           ← Codigo fonte React
  api/           ← Backend tRPC + Hono
  db/            ← Schema do banco
  dist/          ← Build pronto (frontend)
  public/        ← Imagens, logos, favicon
  package.json   ← Dependencias
  ...

3. INSTALAR DEPENDENCIAS

npm install

Se der erro de esbuild:

npm config set allow-scripts true
npm rebuild esbuild --foreground-scripts

4. CONFIGURAR O BANCO DE DADOS (MySQL)

O projeto precisa de MySQL rodando. Voce tem 2 opcoes:

OPCAO A - MySQL Local (se ja tem instalado)

# Verificar se MySQL esta rodando
mysql -u root -p

# Criar banco de dados
CREATE DATABASE avanzato CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Editar o arquivo .env:

# Abrir .env e verificar DATABASE_URL
DATABASE_URL="mysql://root:SUA_SENHA@localhost:3306/avanzato"

OPCAO B - Docker (mais facil)

# Rodar MySQL em Docker
docker run -d \
  --name mysql-avanzato \
  -e MYSQL_ROOT_PASSWORD=senha123 \
  -e MYSQL_DATABASE=avanzato \
  -p 3306:3306 \
  mysql:8

# Esperar 30 segundos e verificar
docker logs mysql-avanzato

Editar .env:

DATABASE_URL="mysql://root:senha123@localhost:3306/avanzato"

OPCAO C - Sem banco (frontend apenas)

Se quiser ver so o frontend, pule para o passo 6 e use:

npm run build
npx serve dist/

5. SINCRONIZAR O BANCO

npm run db:push

Isso cria todas as tabelas automaticamente.

Para popular com dados iniciais (formulario UEA):

npx tsx db/seed.ts

6. INICIAR O SERVIDOR

npm run dev

Acesse: http://localhost:3000


7. COMANDOS UTEIS

Comando O que faz
npm run dev Inicia servidor dev (porta 3000)
npm run build Build para producao (gera dist/)
npm run check Verifica erros de TypeScript
npm run db:push Sincroniza schema com o banco
npm start Inicia servidor de producao

8. PROBLEMAS COMUNS

"Cannot find module"

rm -rf node_modules package-lock.json
npm install

"esbuild permission denied"

npm config set allow-scripts true
npm rebuild esbuild --foreground-scripts

"Database connection refused"

# Verificar se MySQL esta rodando
mysql -u root -p -e "SHOW DATABASES;"

# Ou com Docker
docker ps | grep mysql

Tela branca no navegador

# Verificar console do navegador (F12)
# Verificar se o backend esta rodando
curl http://localhost:3000/api/trpc/ping

Porta 3000 ocupada

# Mac/Linux
lsof -ti:3000 | xargs kill -9

# Windows
netstat -ano | findstr :3000
taskkill /PID <NUMERO> /F

9. ESTRUTURA DAS ROTAS

http://localhost:3000/
  /                          ← Site principal (Home)
  /sobre                     ← Sobre nos
  /servicos/*                ← 10 paginas de servicos
  /tecnologias               ← Tecnologias
  /ferramentas               ← 7 ferramentas gratuitas
  /avaliacao                 ← Avaliador de TI
  /cases                     ← Cases de sucesso
  /blog                      ← Blog
  /contato                   ← Contato
  /area-do-cliente           ← Painel admin
  /formulario/:codigo        ← Formulario publico
  /uea-prodem-angola         ← Ambiente UEA-PRODEM
  /status                    ← Pagina de status/versao

10. PARA PRODUCAO

# 1. Build
npm run build

# 2. O conteudo fica em dist/
# 3. Copiar tudo de dist/ para o servidor
# 4. Configurar Nginx (ver nginx/avanzato.conf)

RESUMO RAPIDO

# 1x - Setup inicial
cd avanzato-site
npm install
npm config set allow-scripts true
npm rebuild esbuild --foreground-scripts

# 1x - Banco (se usar MySQL)
npm run db:push
npx tsx db/seed.ts

# Sempre que quiser rodar
npm run dev
# Acesse: http://localhost:3000

Duvidas? Verifique o arquivo .env e confirme que DATABASE_URL esta correto.