Esta é uma API de artigos criada com o intuito de estudo. Através dela, pude aprender sobre arquitetura limpa, design patterns, testes unitários, testes de integração, princípios do SOLID e Docker.
Instale as dependências
pnpm install
Inicie o servidor
pnpm run dev
docker compose up
Para rodar os testes, rode o seguinte comando
Roda todos os teste -->
pnpm run test
teste unitarios -->
pnpm run test:unit
teste integração -->
pnpm run test:integration
POST /api/article
Parâmetro | Tipo | Descrição |
---|---|---|
img |
strin/Base64/link |
Obrigatório. exemplo -> data:image/jpeg;base64,/9j23... |
title |
string |
Obrigatório. exemplo -> Titulo do artigo |
article |
string |
Obrigatório. exemplo -> conteudo |
Parâmetro | Tipo | Descrição |
---|---|---|
id |
string |
'd7347345fd...' |
img |
strin/Base64/link |
data:image/jpeg;base64,/9j23... |
title |
string |
Titulo do artigo |
article |
string |
conteudo... |
createdAt |
string |
2024-03-22T11:50:11.816Z |
GET /api/article/:id
Parâmetro | Tipo | Descrição |
---|---|---|
id |
string |
Obrigatório. O ID do item que você quer |
Parâmetro | Tipo | Descrição |
---|---|---|
id |
string |
'd7347345fd...' |
img |
strin/Base64/link |
data:image/jpeg;base64,/9j23... |
title |
string |
Titulo do artigo |
article |
string |
conteudo... |
createdAt |
string |
2024-03-22T11:50:11.816Z |
GET /api/article
PATCH /api/article/:id
Parâmetro | Tipo | Descrição |
---|---|---|
img |
strin/Base64/link |
** nao é Obrigatório**. exemplo -> data:image/jpeg;base64,/9j23... |
title |
string |
** nao é Obrigatório**. exemplo -> Update title |
article |
string |
** nao é Obrigatório***. exemplo -> conteudo |
Parâmetro | Tipo | Descrição |
---|---|---|
id |
string |
'd7347345fd...' |
img |
strin/Base64/link |
data:image/jpeg;base64,/9j23... |
title |
string |
Update title |
article |
string |
conteudo... |
createdAt |
string |
2024-03-22T11:50:11.816Z |
DELETE /api/article/:id
Aprendi sobre arquitetura limpa, como criar um projeto escalável com uma boa arquitetura. Aprendi sobre design patterns e apliquei os princípios do SOLID. Também aprendi mais sobre testes unitários e de integração. Estava utilizando TDD, que consiste em escrever o teste antes de escrever o código de produção e fazer o mínimo para que o código passe no teste, evoluindo gradualmente. Além disso, aprendi sobre Docker e Docker Compose