Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/bush1d3v/101acessorios_api

RESTful API de uma loja virtual, contendo os produtos automotivos mais diversificados da América.
https://github.com/bush1d3v/101acessorios_api

bcrypt bun docker eslint jest jwt mit-license nestjs nodejs postgresql prisma redis restful-api swagger typescript

Last synced: about 5 hours ago
JSON representation

RESTful API de uma loja virtual, contendo os produtos automotivos mais diversificados da América.

Awesome Lists containing this project

README

        

# ⚙️ 101 Acessórios API

![License](https://img.shields.io/static/v1?label=license&message=MIT&color=orange)  
![Bun version](https://img.shields.io/static/v1?label=bun&message=v1.0.26&color=yellow)  
![Repository size](https://img.shields.io/github/repo-size/bush1D3v/101acessorios_api?color=green)  
![Pull request](https://img.shields.io/static/v1?label=PR&message=welcome&color=blue)

## 🔍 Sobre o Projeto

A **API 101 Acessórios** é uma aplicação **RESTful** que oferece suporte a operações **CRUD** simples.

## 🛠️ Tecnologias e Ferramentas Utilizadas


nestjs
postgresql
typescript
nodejsprisma
jest  
beekeeper   
insomnia    
redis    
docker   
zod    
jsonwebtoken
swagger 
bcrypt    
cors    

## 🏗 Estrutura e Arquitetura

O projeto segue os princípios da **arquitetura limpa** e leva em consideração os princípios do **SOLID**. O código foi organizado de acordo com os princípios de **modularidade**, **reutilização** e **responsabilidade única**.

## 🔏 Autenticação

Para usar a API, é **necessário** autenticar-se. Você deve obter um **token JWT válido** através do **endpoint de login** antes de acessar outros recursos. O token JWT deve ser incluído no **cabeçalho de autorização** de **todas** as solicitações subsequentes.

## 📃 Documentação da Aplicação

A seguir, temos o link da **documentação oficial** da nossa aplicação no **Swagger**:

https://one01acessorios-api.onrender.com/

> obs: Pode ocorrer atraso no carregamento, pois se o UptimeRobot falhar, e, posteriormente, o deploy não for acessado por um certo período, uma requisição subsequente solicitará ao Render que a aplicação saia do "Modo Sleep".

## 🐳 Docker

Com a adição do Docker, você agora pode utilizar dos scripts fornecidos em `package.json` para poder construir a imagem docker e rodar os containers da aplicação e dos testes.

Para isso, segue a lista de funções de cada script:

> `docker-build`: Constrói a imagem docker do projeto
`docker-start`: Sobe e roda/só roda o container 101acessorios_api
`docker-stop`: Para o container 101acessorios_api

# 🖋️ Contribuindo para a API 101 Acessórios

Agradecemos pelo seu interesse em contribuir para a **API 101 Acessórios**. Sua ajuda é **valiosa** para melhorar e **expandir** nossa aplicação. Abaixo estão as **diretrizes** e os **passos** para contribuir com nosso projeto.

## 💻 Como Contribuir

### 🌳 Forkando o Repositório

Antes de começar, você **deverá** forkar o repositório do projeto para **seu perfil**.

### 🖨 Clonando seu Repositório

Após o Fork, você **precisará** clonar o repositório forkado para seu **ambiente de desenvolvimento local**:

```
git clone https://github.com/{seu-usuario}/101acessorios_api.git
cd 101acessorios_api
```

### ⏬ Instalando Dependências

Certifique-se de ter Node.js e PNPM (Ou o seu PM preferível) instalados no seu sistema. Em seguida, instale as dependências necessárias:

```
pnpm install
```

### 🆕 Criando uma Branch

Antes de iniciar qualquer trabalho, crie uma branch separada para a sua contribuição. Use um nome descritivo para a sua branch:

```
git checkout -b feature/nova-funcionalidade
```

### 🔨 Fazendo Alterações

Faça as alterações necessárias no código, adicione novos recursos ou correções de bugs.

### 📊 Compromissos e Push

Após concluir suas alterações e testá-las, faça um commit das alterações:

```
git add .
git commit -m feat: Nova funcionalidade
```

Em seguida, envie suas alterações para o repositório:

```
git push origin feature/nova-funcionalidade
```

### 📨 Solicitando um Pull Request (PR)

Vá para o repositório no GitHub e crie um Pull Request para que sua contribuição seja revisada. Certifique-se de descrever suas alterações e fornecer informações contextuais.

### 👁 Revisão e Fusão

Após criar um Pull Request, nossa equipe revisará suas alterações e fornecerá feedback. Uma vez aprovado, suas alterações serão mescladas no projeto principal.

## 💼 Diretrizes Gerais

- Mantenha o código limpo e legível.
- Siga as boas práticas de desenvolvimento.
- Respeite as convenções de nomenclatura existentes.
- Documente adequadamente as alterações, recursos ou correções.

#

**_Agradecemos pela sua contribuição e esperamos trabalhar juntos para tornar a 101 Acessórios ainda melhor. Se você tiver alguma dúvida ou precisar de ajuda, não hesite em entrar em contato conosco. Juntos, podemos criar uma aplicação mais robusta e eficiente._**