Pular para o conteúdo

Obra360

Documentação técnica

Nesta página

Primeiros Passos

Este guia mostra como colocar o template para rodar na sua máquina em poucos minutos.

Pré-requisitos

  • Node.js 20.19+, 22.13+ ou 24+ e npm
  • PostgreSQL rodando localmente ou uma connection string de um provedor (Neon, Supabase, Railway etc.)
  • Git

1. Clonar o repositório

git clone <url-do-seu-repositorio> meu-projeto
cd meu-projeto

2. Instalar as dependências

npm install

3. Configurar as variáveis de ambiente

Copie o arquivo de exemplo e preencha os valores:

cp .env.example .env

As variáveis obrigatórias para o projeto subir são:

DATABASE_URL="postgresql://user:password@localhost:5432/database"
NEXTAUTH_SECRET="gere-com: openssl rand -base64 32"
NEXTAUTH_URL="http://localhost:3000"

As demais variáveis (Sanity, Stripe, OpenAI, SMTP, OAuth) são opcionais e estão descritas no guia de Configuração.

4. Criar o banco de dados

Com o DATABASE_URL configurado, aplique as migrations do Prisma:

npm run db:migrate

Esse comando executa prisma migrate dev, criando as tabelas e gerando o Prisma Client em ./generated/prisma. Se precisar apenas regenerar o client, use npm run db:generate.

5. Rodar o projeto

npm run dev

Abra http://localhost:3000 no navegador. Pronto!

Scripts úteis

Script O que faz
npm run dev Sobe o servidor de desenvolvimento
npm run build Gera o build de produção (roda prisma generate antes)
npm run start Sobe o servidor com o build de produção
npm run lint Roda o ESLint
npm run typecheck Checagem de tipos com TypeScript
npm run test Executa os testes automatizados com Vitest
npm run validate Executa lint, tipos, testes e build de produção
npm run doctor Diagnostica ambiente, variáveis obrigatórias e integrações opcionais
npm run db:deploy Aplica migrations versionadas em produção
npm run db:seed Cria os dados iniciais definidos no seed
npm run db:studio Abre o Prisma Studio para inspecionar o banco

Próximo passo

Siga para o guia de Configuração para habilitar as integrações opcionais (Sanity CMS, Stripe e OpenAI) e preparar o deploy.