/desafio-interprocess

Repositório criado para teste técnico da Interprocess.

Primary LanguageJavaScript

Sistema de cadastro de clientes Clínica ACME

Link do vídeo de apresentação: https://youtu.be/IRhlpiEylY4
Link do deploy da API: https://acme-clinica.up.railway.app/

Funcionalidades:

  • Cadastro de usuário;
  • Login de usuário;
  • Logout de usuário;
  • Listagem de pacientes;
  • Filtragem de pacientes por nome;
  • Mostrar detalhes de um paciente;
  • Cadastro de paciente;
  • Edição de paciente;
  • Desativação e ativação de paciente;
  • Redirecionamento para suporte externo;
  • Proteção de rotas no Client:
    -- Registro e leitura de dados do localStorage;
    -- Navegação interna apenas para usuários autenticados;
  • Proteção de rotas no Server:
    -- Autenticação com Json web token;
    -- Permissão às funcionalidades apenas para usuários autenticados;

Como rodar o projeto:

  • Faça o fork do repositório;
  • Clone para um repositório local;
  • Abrindo o repositório local no seu terminal, execute:
    -- cd acme-client/
    -- npm install
    -- npm run dev
  • A conexão com a API na nuvem já está feita. Não é preciso alterar.
  • Utilize a conta de e-mail "user@user.com" e senha "user12345" ou crie nova conta na página de cadastro.

Tecnologias, ferramentas e bibliotecas utilizadas:

Client:
  • React
  • React-router-dom
  • Tailwind.css - (responsividade não implementada por se tratar de sistema interno de uma clínica, onde seria utilizado apenas nos computadores da mesma);
  • Axios
  • Date-fns
  • Lodash
  • Phosphor-react
  • React-input-mask
  • React-toastify
Server:
  • NodeJS
  • Express
  • PostgreSQL
  • Pg e Knex
  • Joi
  • Jsonwebtoken
  • Bcrypt
  • Cors
  • Dotenv

Caso decida rodar a API localmente será necessário:

  • Executar as querys SQL disponibilizadas no arquivo "schema.sql" na raíz da pasta acme-server/ em uma ferramenta de banco de dados que suporte Postgres;
  • Alterar o nome do arquivo ".env.example" para ".env", inserindo os dados de conexão com o seu banco de dados nele;
  • Abrindo o repositório local no seu terminal, execute:
    -- cd acme-server/
    -- npm install
    -- npm run dev