Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/mairess/project-trybesmith
- Owner: mairess
- Created: 2024-02-23T18:30:31.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-04-13T21:38:25.000Z (7 months ago)
- Last Synced: 2024-04-14T03:03:50.417Z (7 months ago)
- Topics: bcrypt, chai, docker, express, joi, jwt, mocha, mysql, node, sequelize, sinon, swagger-ui, typescript
- Language: TypeScript
- Homepage:
- Size: 276 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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