How devfullcycle/spec-pullrequest-ia works
O repositório documenta um gerenciador de arquivos na nuvem como aplicação-exemplo; seu foco declarado, porém, é o processo de desenvolvimento com agentes. O mapa abaixo cobre os runtimes presentes: autenticação por e-mail, navegação de itens e capacidades de upload/download representadas no código. A API é NestJS e o frontend Next.js, com PostgreSQL e storage de objetos. Algumas relações vêm de trechos e do índice de fontes; subsistemas não amostrados aparecem sem ligações específicas quando estas não podem ser confirmadas.
Main entry points: client.ts Cliente da API · app.module.ts Composição da API · auth.controller.ts Rotas de autenticação · sessions.service.ts Sessões e tokens
Components 22
Frontend Next.js
- Telas de acesso
apps/web/app/(auth)/entrar/page.tsx - Drive e pastas
apps/web/app/(drive)/page.tsx - Cliente de uploads
apps/web/lib/uploads/engine.ts - Cliente da API
apps/web/lib/api/client.ts
Autenticação
- Rotas de autenticação
apps/api/src/modules/auth/auth.controller.ts - Cadastro e verificação
apps/api/src/modules/auth/registration.service.ts - Sessões e tokens
apps/api/src/modules/auth/sessions.service.ts - Guarda de acesso
apps/api/src/common/auth/auth.guard.ts - Usuários
apps/api/src/modules/users/users.service.ts
Arquivos e uploads
- Rotas de itens
apps/api/src/modules/items/items.controller.ts - Regras de itens
apps/api/src/modules/items/items.service.ts - Rotas de pastas
apps/api/src/modules/items/folders.controller.ts - Persistência de itens
apps/api/src/modules/items/items.repository.ts - Rotas de upload
apps/api/src/modules/uploads/uploads.controller.ts - Serviço de uploads
apps/api/src/modules/uploads/uploads.service.ts - Cotas
apps/api/src/modules/quota/quota.service.ts
Serviços da API
- Contrato de storage
apps/api/src/infra/storage/file-storage.ts - Cloud Storage
apps/api/src/infra/storage/gcs-file-storage.ts - PostgreSQL
apps/api/src/infra/database/prisma.service.ts - Envio de e-mail
apps/api/src/infra/mail/mail-sender.ts - Composição da API
apps/api/src/app.module.ts
Other components
- Pessoa usuária
Connections 29
- Pessoa usuária → Telas de acesso: inicia sessão
README.md - Pessoa usuária → Drive e pastas: usa o drive
README.md - Telas de acesso → Cliente da API: solicita acesso
- Drive e pastas → Cliente da API: solicita itens
- Cliente de uploads → Cliente da API: usa API
- Cliente da API → Rotas de autenticação: chama API
README.md - Cliente da API → Rotas de itens: chama API
README.md - Cliente da API → Rotas de upload: chama API
README.md - Rotas de autenticação → Cadastro e verificação: delegates to
apps/api/src/modules/auth/auth.controller.ts - Rotas de autenticação → Sessões e tokens: delegates to
apps/api/src/modules/auth/auth.controller.ts - Rotas de autenticação → Envio de e-mail: delegates to
- Sessões e tokens → Usuários: loads user
apps/api/src/modules/auth/sessions.service.ts - Sessões e tokens → Guarda de acesso: issues tokens
apps/api/src/modules/auth/sessions.service.ts - Guarda de acesso → Sessões e tokens: verifies access token
apps/api/src/common/auth/auth.guard.ts - Rotas de itens → Guarda de acesso: guards routes
apps/api/src/modules/items/items.controller.ts - Rotas de itens → Regras de itens: delegates to
apps/api/src/modules/items/items.controller.ts - Rotas de pastas → Regras de itens: delegates to
apps/api/src/modules/items/folders.controller.ts - Regras de itens → Persistência de itens: queries
apps/api/src/modules/items/items.service.ts - Regras de itens → Contrato de storage: requests signed URL
apps/api/src/modules/items/items.service.ts - Rotas de upload → Guarda de acesso: guards routes
apps/api/src/modules/uploads/uploads.controller.ts - Rotas de upload → Serviço de uploads: delegates to
apps/api/src/modules/uploads/uploads.controller.ts - Serviço de uploads → Contrato de storage: uses storage
- Serviço de uploads → Cotas: checks quota
- Contrato de storage → Cloud Storage: implemented by
apps/api/src/infra/storage/gcs-file-storage.ts - Composição da API → Rotas de autenticação: registers module
apps/api/src/app.module.ts - Composição da API → Rotas de itens: registers module
apps/api/src/app.module.ts - Composição da API → Rotas de upload: registers module
apps/api/src/app.module.ts - Composição da API → PostgreSQL: registers module
apps/api/src/app.module.ts - Composição da API → Envio de e-mail: registers module
apps/api/src/app.module.ts