# Setup em Novo Computador Guia rapido para configurar o ambiente de desenvolvimento em uma nova maquina. ## Pre-requisitos - **Git** instalado - **Bun** 1.3+ ([bun.sh](https://bun.sh)) - **Docker** (para PostgreSQL local) - **Node.js** 20+ (opcional, para algumas ferramentas) ### Instalar Bun (se ainda nao tiver) ```bash # Linux/macOS/WSL curl -fsSL https://bun.sh/install | bash # Windows (PowerShell) powershell -c "irm bun.sh/install.ps1 | iex" ``` ## Setup Rapido ### 1. Clonar o repositorio ```bash git clone https://github.com/esdrasrenan/sistema-de-chamados.git cd sistema-de-chamados ``` Ou se ja tiver o repositorio: ```bash cd sistema-de-chamados git pull origin main ``` ### 2. Configurar remotes (para CI/CD) ```bash # Adicionar remote do Forgejo (dispara CI/CD) git remote add forgejo https://git.esdrasrenan.com.br/esdras/sistema-de-chamados.git # Verificar remotes git remote -v # Deve mostrar: # origin https://github.com/esdrasrenan/sistema-de-chamados.git (fetch) # origin https://github.com/esdrasrenan/sistema-de-chamados.git (push) # forgejo https://git.esdrasrenan.com.br/esdras/sistema-de-chamados.git (fetch) # forgejo https://git.esdrasrenan.com.br/esdras/sistema-de-chamados.git (push) ``` ### 3. Instalar dependencias ```bash bun install ``` ### 4. Configurar banco de dados ```bash # Subir PostgreSQL via Docker docker run -d \ --name postgres-dev \ -p 5432:5432 \ -e POSTGRES_PASSWORD=dev \ -e POSTGRES_DB=sistema_chamados \ postgres:16 # Criar arquivo .env cp .env.example .env ``` Edite o `.env` e configure: ```env DATABASE_URL=postgresql://postgres:dev@localhost:5432/sistema_chamados BETTER_AUTH_SECRET=sua-chave-secreta-aqui NEXT_PUBLIC_APP_URL=http://localhost:3000 BETTER_AUTH_URL=http://localhost:3000 ``` ### 5. Inicializar o banco ```bash # Gerar cliente Prisma bun run prisma:generate # Criar tabelas no banco bunx prisma db push # Popular dados iniciais bun run auth:seed ``` ### 6. Rodar o projeto ```bash bun run dev:bun ``` Acesse: http://localhost:3000 **Credenciais padrao:** `admin@sistema.dev` / `admin123` ## Comandos Uteis | Comando | Descricao | |---------|-----------| | `bun run dev:bun` | Iniciar servidor de desenvolvimento | | `bun run build:bun` | Build de producao | | `bun run lint` | Verificar codigo (ESLint) | | `bun test` | Rodar testes | | `bun run prisma:generate` | Gerar cliente Prisma | | `bunx prisma studio` | Interface visual do banco | ## Fluxo de Trabalho com Git ### Push para ambos os remotes (recomendado) ```bash # Fazer alteracoes git add . git commit -m "sua mensagem" # Push para GitHub (backup) e Forgejo (CI/CD) git push origin main && git push forgejo main ``` ### Configurar alias para push duplo (opcional) ```bash # Criar alias git config alias.push-all '!git push origin main && git push forgejo main' # Usar git push-all ``` ## Troubleshooting ### Erro: "bun: command not found" ```bash # Adicionar Bun ao PATH export PATH="$HOME/.bun/bin:$PATH" # Adicionar permanentemente ao ~/.bashrc ou ~/.zshrc echo 'export PATH="$HOME/.bun/bin:$PATH"' >> ~/.bashrc source ~/.bashrc ``` ### Erro: Prisma "P2021" / tabelas nao existem ```bash bunx prisma db push bun run auth:seed ``` ### Erro: Lockfile desatualizado ```bash bun install ``` ### PostgreSQL nao conecta ```bash # Verificar se o container esta rodando docker ps # Se nao estiver, iniciar docker start postgres-dev # Ou recriar docker rm -f postgres-dev docker run -d --name postgres-dev -p 5432:5432 -e POSTGRES_PASSWORD=dev -e POSTGRES_DB=sistema_chamados postgres:16 ``` ## Convex (Backend de Tempo Real) Para desenvolvimento com Convex local: ```bash # Terminal 1: Convex dev server bun run convex:dev:bun # Terminal 2: Next.js bun run dev:bun ``` ## Mais Informacoes - **Desenvolvimento detalhado:** `docs/DEV.md` - **Deploy e operacoes:** `docs/DEPLOY-RUNBOOK.md` - **CI/CD Forgejo:** `docs/FORGEJO-CI-CD.md`