/valoriza

Uma API em NodeJS que permite usuários de uma corporação valorizem/elogiem o trabalho dos outros usuários.

Primary LanguageTypeScript

Valoriza

ℹ Sobre o Projeto

Uma API em NodeJS que permite usuários de uma corporação valorizar/elogiar o trabalho dos outros usuários 🎯
  • Pré-requisitos

    • É necessário possuir o Node.js instalado no computador
    • É necessário possuir o Git instalado e configurado no computador
    • Também, é preciso ter um gerenciador de pacotes seja o NPM ou Yarn.
# Clone Repository
$ git clone https://github.com/IanaCris/valoriza.git

📦 Instala as Dependências


# Vá até a pasta
$ cd valoriza
# Instale as dependências
$ yarn # ou npm install

📦 Criar a base de dados


# Cria as tabelas no banco de dados
$ yarn typeorm migration:run

📦 Executar a aplicação


# Executa a aplicação
$ yarn dev

📑 Documentação das rotas

Documentação com Swagger UI

Depois de executada a aplicação, acessar na url: http://localhost:3000/api-docs

swagger

📌 Regras

  • Cadastro de usuário

  • Não é permitido cadastrar mais de um usuário com o mesmo em-mail

  • Não é permitido cadastrar usuário sem e-mail

  • Cadastro de TAG

  • Não é permitido cadastrar tag sem nome

  • Não é permitido cadastrar mais de uma tag com o mesmo nome

  • Não é permitido o cadastro por usuários que não sejam administradores

  • Cadastro de elogios

  • Não é permitido um usuário cadastrar um elogio para si

  • Não é permitido cadastrar elogios para usuários inválidos

  • O usuário precisar estar autenticado na aplicação

💻 Tecnologias

  • Node.js - Baixe a versão recomendada LTS.
  • Yarn - Gerenciador de pacotes, similar ao npm do Node.js.
  • Express - Framework para desenvolver back-end com Node.js.
  • TypeScript - É JavaScript com tipagem de dados e recursos adicionais, voltado ao lado servidor.
  • Beekeeper - Gerenciador de Banco de Dados e editor de código SQL.
  • Insomnia - É um programa que testa as requisições de uma API(GET, POST, PUT, DELETE, PATCH, etc).
  • Swagger - É uma linguagem de descrição de interface para descrever APIs RESTful expressas usando JSON.