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

https://github.com/mariaseverino/compjr-capacitacao

Desafio desenvolvido para a capacitação de backend da Comp Junior
https://github.com/mariaseverino/compjr-capacitacao

api javascript nodejs

Last synced: 3 months ago
JSON representation

Desafio desenvolvido para a capacitação de backend da Comp Junior

Awesome Lists containing this project

README

        

# Capacitação Backend CompJunior


livro



GitHub top language
GitHub last commit



Sobre
Requisitos mínimos
Para ir além
Tecnologias


Estrutura de diretórios
Como executar o projeto

## ✨ Sobre

Desafio desenvolvido para a capacitação de backend da CompJunior. CRUD para um aplicativo de contratação de faxineiros.

## 📌 Especificações mínimas

- [x] O projeto deve ter no mínimo 1 schema e 1 controller;
- [x] Deve conter no mínimo 1 CRUD completo;
- [x] Documentação no Swagger;
- [x] Deve ser possível testar todas as requisições;

## 🚀 Para ir além

- [x] Criar usuário, com e-mail e senha e realizar login;
- [x] Mandar imagem com foto do usuário na mesma rota em que ele é criado;
- [x] Ter uma rota que só pode ser acessado com token de autenticação;
- [x] Ter um usuário administrador que terá permissões diferentes de um usuário comum;
- [x] Função de recuperar senha;
- [x] Fazer com que o usuário receba um email automático;

## ⚡️ Tecnologias

- Node
- MongoDB
- Mongoose
- Express
- Nodemon
- Bcryptjs
- Crypto
- Swagger
- Nodemailer
- Slugify
- Multer
- Jsonwebtoken

## 🗃️ Estrutura de diretórios

```
├── assets
├── src
│ ├── app
│ │ ├── controllers
│ │ ├── middlewares
│ │ └── schemas
│ ├── config
│ ├── database
│ ├── modules
│ ├── resources
│ │ └── mail
│ │ └── auth
│ ├── utils
│ ├── index.js
│ ├── routes.js
│ ├── swagger.js
│ └── uploads
│ └── images
```

## 🤔 Como executar o projeto

### 🚨 Pré requisito

Antes de começar, você vai precisar ter instalado em sua máquina o [Node.js](https://nodejs.org/).

```bash
# Clone este repositório
$ git clone https://github.com/mariaseverino/compjr-capacitacao.git

# Acesse a pasta do projeto
$ cd compjr-capacitacao

# Instale as dependências
$ npm install

# Execute a aplicação
$ npm start

# Rodando em http://localhost:3333
```

## 📝 Acessando documentação

```bash
# Acesse
http://localhost:3333/api-doc
```