https://github.com/maxsonferovante/ignite-corrigindo-o-codigo
Este projeto é parte do Desafio 03 do Ignite da Rocketseat, que se concentra em corrigir uma aplicação Node.js que gerencia repositórios de projetos e permite a adição de likes a esses repositórios. Alguns testes não estão passando após alterações no código, e a missão resolver as partes quebrada,
https://github.com/maxsonferovante/ignite-corrigindo-o-codigo
express javascript jest-tests nodejs
Last synced: 3 months ago
JSON representation
Este projeto é parte do Desafio 03 do Ignite da Rocketseat, que se concentra em corrigir uma aplicação Node.js que gerencia repositórios de projetos e permite a adição de likes a esses repositórios. Alguns testes não estão passando após alterações no código, e a missão resolver as partes quebrada,
- Host: GitHub
- URL: https://github.com/maxsonferovante/ignite-corrigindo-o-codigo
- Owner: maxsonferovante
- Created: 2023-09-17T21:44:34.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-09-17T22:32:40.000Z (over 1 year ago)
- Last Synced: 2024-12-03T03:18:55.479Z (7 months ago)
- Topics: express, javascript, jest-tests, nodejs
- Language: JavaScript
- Homepage:
- Size: 179 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Claro, vou colocar tudo em um único bloco de markdown para facilitar a inclusão no README:
Desafio 03 - Corrigindo o Código
![]()
## 🚀 O que é e o propósito do projeto
Este projeto é parte do Desafio 03 do Bootcamp Ignite da Rocketseat, que se concentra em corrigir uma aplicação Node.js que gerencia repositórios de projetos e permite a adição de likes a esses repositórios. Alguns testes não estão passando após alterações no código, e a missão é corrigi-lo para garantir o funcionamento correto.
A aplicação lida com operações de CRUD (Create, Read, Update, Delete) para repositórios, permitindo a adição, listagem, atualização e exclusão deles. Além disso, é possível adicionar likes a esses repositórios.
A aplicação segue a seguinte estrutura para um novo repositório:
```jsx
{
id: uuid(),
title,
url,
techs,
likes: 0
}
```## 💻 Tecnologias
- [Node.js](https://nodejs.org/)
- [Express](https://expressjs.com/)
- [UUID](https://github.com/uuidjs/uuid)
- ...## 🔧 Especificação dos Testes
Os testes validam o correto funcionamento das funcionalidades da aplicação, incluindo a criação de novos repositórios, listagem, atualização, exclusão e adição de likes.
## 🔌 Middlewares da aplicação
Neste desafio, o foco é nos middlewares, que desempenham funções cruciais para garantir o funcionamento correto da aplicação. Aqui está uma breve descrição de cada middleware:
### checksExistsUserAccount
Valida a existência de um usuário com base no `username` passado no header da requisição. Se existir, repassa o usuário para `request.user` e chama a função `next`.
### checksCreateTodosUserAvailability
Verifica se o usuário pode criar um novo *todo* com base no plano (grátis ou Pro) e na quantidade de *todos* que possui. Permite a criação se estiver no plano grátis e tiver menos de 10 *todos* ou se estiver no plano Pro.
### checksTodoExists
Valida se o *todo* pertence ao usuário, com base no `username` do header e no `id` do *todo* passado nos parâmetros. Se válido, passa o *todo* e o usuário para `request.todo` e `request.user`, respectivamente, e chama a função `next`.
### findUserById
Localiza um usuário com base no `id` fornecido nos parâmetros da rota. Se encontrado, repassa o usuário para `request.user` e chama a função `next`.
## 🛠️ Como usar
1. Clone este repositório:
```bash
git clone https://github.com/seu-usuario/desafio-03-corrigindo-o-codigo.git
```2. Acesse o diretório do projeto:
```bash
cd desafio-03-corrigindo-o-codigo
```3. Instale as dependências:
```bash
yarn install
```4. Execute os testes:
```bash
yarn test
```Certifique-se de que os testes foram bem-sucedidos, e se não foram, faça as correções necessárias no código.
5. Para iniciar a aplicação:
```bash
yarn start
```A aplicação estará disponível em http://localhost:3333.
---
## 📝 Licença
Esse projeto está sob a licença MIT. Veja o arquivo [LICENSE](LICENSE) para mais detalhes.
Feito com 💜 por Maxson Almeida 👋
[GitHub](https://github.com/maxsonferovante)
[LinkedIn](https://www.linkedin.com/in/maxson-almeida-501065260/)
```