Skip to content

ajhopf/LABMedical

Repository files navigation

DEVinKnowledge

Conteúdos:

Introdução

A LABMedicine LTDA, empresa líder no segmento tecnológico para gestão hospitalar, está com um projeto novo intitulado LABMedical, um software audacioso para gestão de inventário médico. O seu perfil chamou a atenção dos gestores, para criar a aplicação Front-End do software, que deverá ser construída utilizando o framework Angular.

Primeiros Passos

Instalando a aplicação:

Para clonar o repositório para seu ambiente local de desenvolvimento é preciso executar o comando

git clone git@github.com:ajhopf/LABMedical.git

Para instalar as dependencias é preciso executar o comando npm install dentro da pasta onde o projeto foi clonado

# Acessar a pasta do projeto
cd LABMedical

# Instalar as dependencias do projeto
npm install

Instalando o JSON server

Este projeto utiliza o JSON server como banco de dados.

  1. Instalando o JSON server

Dentro da pasta que você deseja criar o servidor (não necessariamente na mesma pasta que você instalou a aplicação) rode o seguinte comando:

npm install json-server
  1. Crie um arquivo db.json com o seguinte conteúdo:
{
  "doctors": [],
  "pacients": [],
  "appointments": [],
  "exams": []
}

Desta maneira o seu aplicativo irá inicializar sem nenhuma dica cadastrada. Você pode optar por copiar este arquivo, desta forma já o inicializando com pacientes, consultas e exames cadastrados.

  1. Dentro do arquivo package.json adicione o seguinte script:
"start": "json-server --watch data/db.json"
  1. Inicialize o servidor com o comando start:
npm start

O servidor roda a partir da porta 3000 (a aplicação já está configurada para acessar o servidor por esta porta):

http://localhost:3000

Clique aqui para mais informações sobre o json-server.

Você está pronto para iniciar a utilização do LABMedical!


Entendendo a Aplicação

Página de Login

A página inicial da aplicação é a página de login. Se você optou por utilizar o banco de dados disponibilizado aqui você poderá optar por utilizar o login padrão (admin@labmedical.com / admin123) ou criar um novo usuário.

A funcionalidade de esqueci minha senha é disponibilizada ao usuário após uma primeira tentativa de login com credenciais inválidas.

img.png

Ao optar por criar um novo usuário um modal será disponibilizado para inserir as informações necessárias. Um avatar da robohash será gerado utilizando o email. Você poderá optar por mudar seu avatar até encontrar um do seu agrado! Ao clicar em criar usuário, é feita uma validação para verificar se o email informado já está em uso. img.png

Página inicial - Estatísticas

Com o login validado, você terá acesso à página inicial. Nesta página você poderá verificar a quantidade de pacientes, consultas e exames cadastrados. Além disso, é possível obter informações rápidas de todos os pacientes e realizar uma busca pelo nome, email ou telefone do pacientes.

Ao clicar no card do paciente você será direcionado à página de cadastro do paciente com a função editar habilitada, possibilitando atualizar os dados necessários.

img.png

Menus

Uma vez logado, todas as páginas possuem um header com o título da página em que você se encontra, o nome do usuário e o seu avatar. Ao clicar no avatar você poderá se deslogar da aplicação. Além do header, existe um menu lateral que é disponibilizado ao clicar no menu hamburguer na lateral esquerda do header. Neste é possível fazer a navegação dentro da aplicação, além de escolher o tema de cores da aplicação.

Cadastro de Paciente

Nesta página você poderá cadastrar um novo paciente. O botão de cadastrar só será habilitado quando todas as informações necessárias forem preenchidas e validadas. Os botões de editar cadastro e deletar cadastro só são habilitados quando estamos editando um paciente já cadastrado.

Ao finalizar o cadastro, você verá uma mensagem de confirmação, onde você poderá ver todos as informações e conferi-las.

Por último, antes do cadastro, é realizada uma busca no banco de dados pelo nome do paciente para evitar duplicação de registros.

img.png

Listagem de Prontuário

Na página de prontuários, você poderá pesquisar um paciente pelo seu nome ou pelo número do registro.

img.png

Ao clicar em um dos itens da lista você será direcionado à página de registros do paciente, onde poderá ver, em ordem cronológica, todas consultas e exames vinculados àquele paciente.

img.png

Cadastro de Consulta e Exame

Ao entrar na página de cadasto de consultas ou na de cadastro de exame você deverá primeiro selecionar um paciente. Nenhum exame ou consulta poderá ser cadastrado sem estar vinculado a um paciente.

O botão de cadastrar só será habilitado uma vez que todas informações necessárias sejam preenchidas.

Para editar ou deletar uma consulta ou exame você deverá selecioná-lo primeiro na página de registros de um paciente.

img.png img.png


Tecnologias Utilizadas e Motivação

Este projeto foi desenvolvido como projeto avaliativo do fim do módulo de front-end da formação full-stack do curso DEVinHouse do Senai, patrocinado pela phillips.

O framework escolhido para o desenvolvimento foi o Angular, sendo utilizado:

  • Roteamento para gerenciamento de rotas;
  • Services para centralização de código;
  • Validators para validação avançada de inputs de usuários;
  • Observables para comunicação com o back-end (JSON server);
  • Manipulação do local-storage para persistência de dados locais (usuário logado e tema de cores);
  • Guards de rotas;
  • Tipagem do typescript e uso de models;
  • Componentização e sistema de pastas para organização dos arquivos.

Para estilização foram utilizados:

Durante o desenvolvimento foi utilizado o github como versionador de código, com padrão baseado em gitflow, utilizando a main como branch principal do projeto e criando novas branches para features, estilização e revisão de código. Além disso, foram utilizados commits curtos, concisos e auto-explicativos.

Para organização das tarefas um board do trello foi utilizado, com estrutura kanban para organização das tarefas.

About

Front-end do software de gestão hospitalar LABMedical

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published