Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vilarimlucas/exc-task-list-api
API desenvolvida na aula de Teste e qualidade de Software com os elementos do widget Task List do projeto EX Ctrl
https://github.com/vilarimlucas/exc-task-list-api
express-js jest-test node-js nodemon-express npm sequelize-cli supertest swagger-ui
Last synced: 21 days ago
JSON representation
API desenvolvida na aula de Teste e qualidade de Software com os elementos do widget Task List do projeto EX Ctrl
- Host: GitHub
- URL: https://github.com/vilarimlucas/exc-task-list-api
- Owner: VilarimLucas
- Created: 2024-11-07T11:09:48.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-11-14T21:51:43.000Z (3 months ago)
- Last Synced: 2024-11-14T22:31:23.753Z (3 months ago)
- Topics: express-js, jest-test, node-js, nodemon-express, npm, sequelize-cli, supertest, swagger-ui
- Language: JavaScript
- Homepage: https://vilarimlucas.github.io/exc-task-list-api/docs.html
- Size: 48.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# exc-task-list-api
API desenvolvida na aula de Teste e qualidade de Software com os elementos do widget Task List do projeto EX Ctrl
## Tecnologias Utilizadas
![Node.js](https://img.shields.io/badge/Node.js-43853D?style=for-the-badge&logo=node.js&logoColor=white)
![Express](https://img.shields.io/badge/Express-000000?style=for-the-badge&logo=express&logoColor=white)
![Sequelize](https://img.shields.io/badge/sequelize-323330?style=for-the-badge&logo=sequelize&logoColor=blue)
![MySQL](https://img.shields.io/badge/MySQL-4479A1?style=for-the-badge&logo=mysql&logoColor=white)
![Swagger](https://img.shields.io/badge/Swagger-85EA2D?style=for-the-badge&logo=swagger&logoColor=black)
![Jest](https://img.shields.io/badge/Jest-C21325?style=for-the-badge&logo=jest&logoColor=white)
![Nodemon](https://img.shields.io/badge/Nodemon-76D04B?style=for-the-badge&logo=nodemon&logoColor=white)
![Supertest](https://img.shields.io/badge/Supertest-000000?style=for-the-badge)## Requisitos
- ![Nodejs](https://img.shields.io/badge/Nodejs-3C873A?style=for-the-badge&labelColor=black&logo=node.js&logoColor=3C873A) (versão mínima recomendada: 14.x)
- ![npm](https://img.shields.io/badge/npm-CB3837?style=for-the-badge&logo=npm&logoColor=white) (ou **yarn**) instalado
- ![MySQL](https://img.shields.io/badge/MySQL-005C84?style=for-the-badge&logo=mysql&logoColor=white) rodando localmente ou em um serviço de nuvem## Instalação
1. Clone o repositório:
```bash
git clone https://github.com/VilarimLucas/exc-task-list-api.git
cd exc-task-list-api
```2. Instale as dependências:
```bash
npm install
```## Scripts disponíveis
No arquivo package.json, os seguintes scripts estão disponíveis:
- npm run dev1: Executa o servidor no modo de desenvolvimento com nodemon, reiniciando automaticamente ao detectar mudanças.
```bash
npm run dev1
```- npm run dev2: Executa o servidor no modo de desenvolvimento com o comando --watch do próprio NODE, reiniciando automaticamente ao detectar mudanças.
```bash
npm run dev2
```- npm run build: Executa o servidor em modo de produção (sem nodemon).
```bash
npm run build
```- npm run test: Executa os testes unitários utilizando o Jest.
```bash
npm run test
```## ![Swagger](https://img.shields.io/badge/-Swagger-85EA2D?style=for-the-badge&logo=swagger&logoColor=white) Gerando a Documentação com Swagger
Este projeto utiliza swagger-jsdoc para gerar a documentação da API a partir de anotações no código.
### Gerando o arquivo swagger.json
Antes de gerar a documentação completa, você precisa criar o arquivo swagger.json a partir das anotações JSDoc nas rotas. Um script foi configurado para facilitar esse processo.
1. Execute o script para gerar o swagger.json:
```bash
node generate-swagger-json.js
```## Gerando o arquivo docs.html com ReDoc
Com o arquivo swagger.json gerado, você pode criar a documentação em formato HTML utilizando o ReDoc.2. Para gerar o arquivo docs.html, execute o seguinte comando:
```bash
npx @redocly/cli build-docs swagger.json -o docs.html
```### Acessando a Documentação
Após gerar o arquivo `docs.html`, você pode visualizá-lo abrindo o arquivo no navegador.
A documentação da API também está disponível online através do GitHub Pages. Você pode acessá-la no seguinte link:
[Documentação da API](https://vilarimlucas.github.io/exc-task-list-api/docs.html)
### LicençaEste projeto está licenciado sob a licença ISC. Veja o arquivo LICENSE para mais detalhes.
### Explicação do conteúdo do `README.md`:
1. **Introdução**: Descreve o projeto e o objetivo.
2. **Requisitos**: Indica o que é necessário para rodar o projeto.
3. **Instalação**: Instruções sobre como clonar o repositório e instalar as dependências.
4. **Scripts disponíveis**: Explica os comandos disponíveis no `package.json` para rodar o servidor em desenvolvimento, produção e rodar os testes.
5. **Gerando a documentação**: Explica como gerar o `swagger.json` e o `docs.html` usando os scripts e o Redoc.
6. **Acessando a documentação**: Informa que o arquivo `docs.html` pode ser configurado para ser servido no GitHub Pages e cria um espaço para o link.
7. **Contribuindo**: Um espaço para encorajar contribuições ao projeto.Com esse `README.md`, qualquer pessoa que pegar o projeto saberá como rodá-lo, gerar a documentação e visualizá-la.
Se precisar de mais alguma coisa ou algum ajuste, é só me avisar!