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.
src
Diretório -
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:
- Instale as dependências com
pnpm install
. - Suba o banco com
docker compose up --build -d
. - Execute as migrações do banco de dados com
npx drizzle-kit generate && npx drizzle-kit migrate
na raiz do projeto. - Inicie o servidor com
pnpm run dev