Skip to content

Latest commit

 

History

History
169 lines (118 loc) · 2.63 KB

File metadata and controls

169 lines (118 loc) · 2.63 KB
title description
Desenvolvimento local
Configure a Social API localmente com Go + Make para desenvolver e iterar

Este é o jeito mais rápido para desenvolver e iterar na Social API.


1. Instalar pré-requisitos

Instalar Go 1.24+

macOS (Homebrew):

brew install go

Linux (apt):

sudo apt update
sudo apt install golang-go

Verificar instalação:

go version

Instalar Make

macOS (Homebrew):

brew install make

Linux:

sudo apt install make

(Opcional) Instalar jq para parsing de JSON

Útil para seguir os exemplos de Jobs:

macOS:

brew install jq

Linux:

sudo apt install jq

2. Clonar o repositório e configurar

git clone <repo-url>
cd social-go
cp .env.example .env

Edite .env com suas credenciais reais:

DATABASE_URL=postgres://postgres.[ref]:[pass]@db.[ref].supabase.co:5432/postgres?sslmode=require
APIFY_TOKEN=apify_api_xxxxx
GEMINI_API_KEY=AIzaSyxxxxx
INTERNAL_SECRET=sua-chave-secreta
PORT=8080
ENV=development
**IMPORTANTE:** * Use **porta 5432**, não 6543 (pooler do Supabase quebra o pgx). * Senhas com `@`, `&` etc devem ser **URL encoded**.

3. Rodar a API

make run

A API estará disponível em:

  • Swagger UI → http://localhost:8080/docs/
  • Healthcheck → http://localhost:8080/health

4. Testar se está funcionando

curl http://localhost:8080/health

Esperado:

OK

Se isso funcionou… parabéns 🎉 — a Social API está no ar.


5. Sua primeira chamada real: conectar uma conta

export INTERNAL_SECRET="sua-chave-secreta"
export ENTERPRISE_ID="123e4567-e89b-12d3-a456-426614174000" # UUID v4

curl -X POST http://localhost:8080/connect \
  -H "X-Internal-Secret: $INTERNAL_SECRET" \
  -H "X-Enterprise-Id: $ENTERPRISE_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "contyapp",
    "platform": "INSTAGRAM",
    "options": {
      "fetch_profile": true,
      "fetch_posts": true,
      "fetch_reels": true,
      "posts_limit": 20,
      "reels_limit": 20,
      "newer_than": "7 days"
    }
  }'

6. Listar contas

curl http://localhost:8080/accounts \
  -H "X-Internal-Secret: $INTERNAL_SECRET" \
  -H "X-Enterprise-Id: $ENTERPRISE_ID"

7. Dashboard consolidado

ACCOUNT_ID="123e4567-e89b-12d3-a456-426614174000"

curl "http://localhost:8080/accounts/$ACCOUNT_ID/dashboard?limit=5" \
  -H "X-Internal-Secret: $INTERNAL_SECRET" \
  -H "X-Enterprise-Id: $ENTERPRISE_ID"