Skip to content
Snippets Groups Projects
Commit 39842015 authored by Richard Fernando Heise Ferreira's avatar Richard Fernando Heise Ferreira
Browse files

README done

parent b8f2d0cf
No related branches found
No related tags found
No related merge requests found
README.md 0 → 100644
# Ripperdoc Shop - Backend
---
## Instruções de instalação
- Instale node e npm. Recomenda-se fortemente utilizar [nvm](https://github.com/nvm-sh/nvm).
- Habilite pnpm com `corepack enable pnpm`.
- Instale [docker engine](https://docs.docker.com/engine/install/debian/) -- lembre-se de fazer os passos pós-instalação para não precisar digitar `sudo` toda hora.
## Estrutura de Pastas e Documentos
```plaintext
|-- 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`
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment