Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mairess/project-trybesmith

Trybesmith é uma loja de itens medievais no formato de api CRUD, feita com typescript, node, express, sequelize e mysql. Testada com mocha, chai e sinon, orquestrada com docker compose e documentada com swagger-ui.
https://github.com/mairess/project-trybesmith

bcrypt chai docker express joi jwt mocha mysql node sequelize sinon swagger-ui typescript

Last synced: 9 days ago
JSON representation

Trybesmith é uma loja de itens medievais no formato de api CRUD, feita com typescript, node, express, sequelize e mysql. Testada com mocha, chai e sinon, orquestrada com docker compose e documentada com swagger-ui.

Awesome Lists containing this project

README

        

#

Projeto Trybesmith



| Statements | Branches | Functions | Lines |
| --------------------------- | ----------------------- | ------------------------- | -------------------- |
| ![Statements](https://img.shields.io/badge/Coverage-100%25-brightgreen.svg) | ![Branches](https://img.shields.io/badge/Coverage-86.36%25-yellow.svg) | ![Functions](https://img.shields.io/badge/Coverage-100%25-brightgreen.svg) | ![Lines](https://img.shields.io/badge/Coverage-100%25-brightgreen.svg) |

## Contexto

Este projeto consiste em uma loja de itens medievais no formato de uma API de `Node.js` com `Express`, utilizando `Typescript` e `Sequelize` seguindo o modelo `MSC`. Sendo possível cadastrar um produto, listar todos produtos, listar usuários com seus respectivos produtos através do relacionamento `1:N` e uma rota de login para obter autenticação com `JWT`. A aplicação também possui uma boa cobertura de testes, com testes de `integração` e testes `unitários`.

Rode o projeto localmente

> ⚠️ É preciso ter o [Node](https://nodejs.org/en) instalado em sua máquina.
>

>

1. Clone o repositório:

```BASH
git clone [email protected]:mairess/project-trybesmith.git
```

2. Instale as dependências:

```BASH
npm install
```

3. Inicie o container do banco de dados:

```BASH
docker compose up -d db
```

4. Crie o banco, rode as migrations e os seeders:

```BASH
npm run db:reset
```

5. Inicie o servidor:

```BASH
npm run dev
```

6. O servidor estará disponível na porta `3001`

Rode o projeto com o docker

> ⚠️ É preciso ter o [Docker](https://www.docker.com/get-started/) instalado em sua máquina.

1. Clone o repositório:

```BASH
git clone [email protected]:mairess/project-trybesmith.git
```

2. Suba os containers:

```BASH
docker compose up -d
```

3. Crie o banco, rode as migrations e os seeders:

```BASH
npm run db:reset
```

4. O servidor estará disponível na porta `3001`

Rode os testes

Rode os testes com:

```SHELL
npm run test:local
```

Rode a cobertura:

```SHELL
npm run test:coverage
```

## Documentação da API

A documentação desta api está disponível na rota `/api-docs`

## Tecnologias utilizadas

- Typescript
- Node
- Express
- Sequelize
- MySQL
- JWT
- Bcrypt
- Joi
- Docker
- Mocha
- Chai
- Sinon
- Swagger-ui