Skip to content

docs: licença MIT, um quickstart que funciona, e as limitações por escrito - #26

Merged
ArtRiv merged 1 commit into
mainfrom
chore/license-and-quickstart
Sep 2, 2026
Merged

ArtRiv merged 1 commit into
mainfrom
chore/license-and-quickstart

Conversation

@ArtRiv

@ArtRiv ArtRiv commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Preparação para o repositório virar público.

Licença

MIT, e o package.json sai de UNLICENSED. Um repositório público sem licença
é, tecnicamente, todos os direitos reservados — ninguém pode usar, e é o
primeiro sinal que alguém revisando o projeto procura.

Quickstart que funciona

"Rodando o projeto" era pnpm install seguido de pnpm start:dev. Quem
clonasse não conseguia subir: nada dizia que precisa de Postgres, de .env,
de migration, nem de seed.

Agora são seis passos verificados contra o código:

  1. versões (Node >= 22.18 < 23, pnpm 10, Postgres)
  2. cp .env.example .env — e quais variáveis são mesmo obrigatórias em
    development
    : duas, DATABASE_URL e JWT_SECRET
  3. prisma migrate deploy
  4. prisma db seed — sem ele não existe papel para um usuário novo receber
    e o registro falha
    , que era a armadilha mais provável
  5. pnpm demo:catalog, opcional
  6. pnpm start:dev, e a Swagger UI em /docs

Mais o que o cadastro deliberadamente não dá — verificar e-mail e promover
a admin — como SQL, porque hoje é o único jeito.

As duas variáveis do Google podem ficar vazias: isGoogleConfigured já prevê
isso e o GET /auth/google responde 503 em vez de quebrar o boot. O README não
dizia, e elas estão vazias no .env.example, então parecia um erro.

Seção "Limitações"

Nova, e a mais útil para quem for integrar. O que a v1 não tem:

  • Nenhuma rota de gestão de acesso. O modelo existe e é aplicado — 14
    permissões, três papéis, user_permissions, o jwt.strategy somando os dois
    em toda requisição. O que não existe é endpoint: nenhuma das 38 rotas lista
    usuário, troca papel ou concede permissão. Hoje é UPDATE no banco.
  • Nenhum ciclo de vida de conta (suspender, arquivar, excluir).
  • Nenhum /auth/me — o token carrega só { sub }.
  • As quatro permissões coupons.* existem no catálogo sem feature atrás.

Correções

  • Dizia 39 rotas; são 38 caminhos / 46 operações.
  • A seção de testes não avisava que a e2e dá TRUNCATE no banco para onde o
    DATABASE_URL aponta, nem citava o pnpm e2e:setup.

Verificação

Só documentação, licença e dois campos do package.json — nenhum código de
runtime mudou. Cada afirmação nova do README foi conferida contra o código:
getOrThrow de cada variável, o gate NODE_ENV do Stripe em
payments.module.ts, o isGoogleConfigured em google.strategy.ts, o
seed do prisma.config.ts, e a contagem de rotas pelo openapi.json.

…crito

Preparação para o repositório virar público.

**Licença.** MIT, e o `package.json` sai de `UNLICENSED`. Um repositório
público sem licença é, tecnicamente, todos os direitos reservados.

**Quickstart.** "Rodando o projeto" era `pnpm install` e `start:dev` — quem
clonasse não conseguia subir nada. Agora tem os seis passos reais: versões,
`.env`, `prisma migrate deploy`, `prisma db seed` (sem ele não existe papel
para um usuário novo receber e o registro falha), catálogo de demonstração,
e onde a Swagger UI fica. Inclui o que o cadastro deliberadamente não dá —
verificar e-mail e promover a admin — como SQL, porque hoje é só assim.

Diz também quais variáveis são mesmo obrigatórias em `development`: duas.
As do Google podem ficar vazias, que é o que o `isGoogleConfigured` já
prevê.

**Limitações.** Seção nova, com o que a v1 não tem: rota de gestão de
acesso, ciclo de vida de conta, `/auth/me`, e as permissões de cupom que
existem no catálogo sem feature atrás. Integrar sem saber disso é descobrir
tarde.

**Contagem de rotas.** Dizia 39; são 38 caminhos e 46 operações.

**Testes.** A seção não avisava que a e2e dá `TRUNCATE` no banco para onde o
`DATABASE_URL` aponta, nem citava o `e2e:setup`.
@ArtRiv
ArtRiv merged commit 41da2fb into main Sep 2, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant