Skip to content
Snippets Groups Projects
Select Git revision
  • develop default
  • issue-4/tela-implantes-user-back
  • issue-13/buy-implant
  • main protected
4 results

treinamento-2025.1-backend

  • Clone with SSH
  • Clone with HTTPS
  • Forked from C3SL / treinamento-2025.1-backend
    36 commits ahead of the upstream repository.

    Ripperdoc Shop - Backend


    Instruções de instalação

    • Instale node e npm. Recomenda-se fortemente utilizar nvm.
    • Habilite pnpm com corepack enable pnpm.
    • Instale docker engine -- lembre-se de fazer os passos pós-instalação para não precisar digitar sudo toda hora.

    Estrutura de Pastas e Documentos

    |-- docker-compose.yml
    |-- drizzle.config.ts
    |-- package.json
    |-- pnpm-lock.yaml
    |-- README.md
    |-- src
    |     |-- db
    |     |     |-- migrations
    |     |     |     |-- 0001_flat_captain_america.sql
    |     |     |     |-- 0001_happy_tomas.sql
    |     |     |     |-- 0002_serious_arclight.sql
    |     |     |     |-- 0003_goofy_zodiak.sql
    |     |     |     |-- meta
    |     |     |           |-- 0001_snapshot.json
    |     |     |           |-- 0002_snapshot.json
    |     |     |           |-- 0003_snapshot.json
    |     |     |           |-- _journal.json
    |     |     |-- index.ts
    |     |     |-- schema.ts
    |     |-- env.ts
    |     |-- handlers
    |     |     |-- implants.ts
    |     |     |-- user.ts
    |     |-- index.ts
    |     |-- middleware
    |     |     |-- auth.ts
    |     |-- validators
    |           |-- implantsValidator.ts
    |           |-- userValidator.ts
    |-- tsconfig.json

    Explicação da Estrutura

    Arquivos da Raiz

    • docker-compose.yml: Configuração do Docker Compose para gerenciar containers.

    • drizzle.config.ts: Arquivo de configuração do Drizzle (ferramenta de migração ou ORM).

    • package.json: Contém metadados do projeto e a lista de dependências.

    • pnpm-lock.yaml: Lockfile do pnpm para garantir consistência nas versões das dependências.

    • README.md: Documentação principal do projeto.

    • tsconfig.json: Configuração do TypeScript para o projeto.

    Diretório src

    • db: Contém arquivos relacionados ao banco de dados.

      • migrations: Armazena scripts de migração do banco de dados.

        • 0001_flat_captain_america.sql: Script de migração.

        • 0001_happy_tomas.sql: Script de migração.

        • 0002_serious_arclight.sql: Script de migração.

        • 0003_goofy_zodiak.sql: Script de migração.

        • meta: Contém snapshots e metadados das migrações.

          • 0001_snapshot.json: Snapshot da migração 0001.

          • 0002_snapshot.json: Snapshot da migração 0002.

          • 0003_snapshot.json: Snapshot da migração 0003.

          • _journal.json: Registro das migrações.

      • index.ts: Arquivo principal de configuração do banco de dados.

      • schema.ts: Define o esquema do banco de dados.

    • env.ts: Configurações de ambiente.

    • handlers: Contém os manipuladores de requisições.

      • implants.ts: Lida com requisições relacionadas a implantes.

      • user.ts: Lida com requisições relacionadas a usuários.

    • index.ts: Arquivo principal da aplicação.

    • middleware: Contém middlewares da aplicação.

      • auth.ts: Middleware de autenticação.
    • validators: Contém validadores de dados.

      • implantsValidator.ts: Valida dados de implantes.

      • userValidator.ts: Valida dados de usuários.


    Executar

    Essa estrutura é típica para projetos Node.js com TypeScript, utilizando Docker para containerização e Drizzle para migrações de banco de dados. O diretório src organiza o código-fonte em módulos, como banco de dados, handlers, middlewares e validators, seguindo boas práticas de desenvolvimento.

    Para executar o projeto:

    1. Instale as dependências com pnpm install.
    2. Suba o banco com docker compose up --build -d.
    3. Execute as migrações do banco de dados com npx drizzle-kit generate && npx drizzle-kit migrate na raiz do projeto.
    4. Inicie o servidor com pnpm run dev