Skip to content

ThiagoKS-7/Node-Typescript_CRM-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project logo

Node.js CRM REST-API

Status GitHub Issues GitHub Pull Requests License


Intrasocial's challenge

📝 Table of Contents

🧐 About

Requisitos

Requisitos Funcionais:

  • O sistema deve permitir o cadastro de clientes, contendo as seguintes informações: nome, e-mail, telefone, endereço e status.
  • Ao se cadastrar, o cliente deve ser direcionado para ser atendido por um dos 20 agentes disponíveis de forma sequencial, ordenada pelo nome do agente.
  • Cada agente deve ter uma lista de clientes atribuídos a ele, ordenada pelo momento em que foram cadastrados.
  • Cada agente deve poder editar o status de cada cliente para "Aguardando Atendimento", "Em Atendimento", "Proposta Feita", "Não Concluído" ou "Vendido".
  • A tela para exibir os clientes deve conter colunas, sendo cada coluna um status e contendo os clientes que pertencem a ele. Os clientes devem ser ordenados por ordem de chegada na lista do agente.
  • As colunas devem ser ordenadas dessa forma: "Aguardando Atendimento", "Em Atendimento", "Proposta Feita", "Não Concluído" ou "Vendido"

Requisitos Técnicos:

  • A aplicação deve ser desenvolvida utilizando Node.js, MongoDB, AngularJS e Bootstrap.
  • A API deve seguir o padrão RESTful e suportar as operações CRUD.
  • A interface web deve permitir o cadastro e edição de clientes, a visualização dos clientes atribuídos a cada agente, e a edição dos status dos clientes.
  • A interface web deve ser responsiva e utilizar Bootstrap para a criação do layout.
  • A aplicação deve ser hospedada online(ex.: Heroku) e o banco de dados deve estar no MongoDB Atlas.

UML

Casos de uso:

Usecase diagram

Classes:

Classes diagram

🏁 Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

  • Node 18
  • Openssl

Cheque a versão do seu node com:

node -v

Caso não possua ssl na sua máquina, instale com (WSL e linux):

sudo apt install openssl

Installing

Instale as dependências do projeto

npm install

Crie um arquivo .env, a partir do template de .env.example. Troque as informações conforme sua necessidade. Na pasta raíz do projeto, use:

cp .env.example .env

Crie os schemas do prisma, com o comando:

npm run gen

Crie uma chave privada para o JWT, com o comando:

openssl genrsa -out private.pem 2048

Em seguida, crie uma publica, usando:

openssl rsa -in private.pem -pubout -out public.pem

Crie um agente admin com a senha do seu .env, a partir da seed, usando:

npx prisma db seed

🎈 Usage

Para testar localmente o código, depois de seguir o processo de instalação, escreva:

npm run dev

⛏️ Built Using

✍️ Authors