Realizado

Agendamento Médico : Programação Back-End Em Node.Js

Publicado em 02 de Julho de 2019 dias na TI e Programação

Sobre este projeto

Aberto

Desenvolvimento de um módulo de agenda, similar a Agenda do Google, utilizando tecnologia Back-end Node.js com Express, APIs , as quais serão consumidas via Restful e/ou GraphQL. O profissional contratado irá trabalhar diretamente com  nossa equipe que está desenvolvendo o Aplicativo em React Native.

Segue as APIs que serão desenvolvidas: Cadastro de usuários, cadastro de parâmetros da agenda por profissional, cadastro de compromissos, cadastro de planos de serviços, cadastro de pagamentos e recebimentos do profissional e do cliente,  confirmações (cadastro de usuário, agendamento de consulta / procedimento, pagamento, etc).

Back-end (APIs detalhadamento)

Authorization

Fazer integrações para login com redes sociais (Google e Facebook):
Verificar integridade do token;
Se não passar, retornar erro comum (usuário não existe);
Se passar, verificar se e-mail existe na base de dados;
Se existir, retornar com sucesso;
Se não existir, retornar resposta para fazer cadastro.
Acertar envio de e-mails (para recuperação de senha, por exemplo);
Excluir (inativar apenas, na verdade) um usuário.

Pesquisa

Criar pesquisa de profissionais para marcar consulta com os seguintes filtros:
Especialidade - cadastradas previamente;
Localidade - pode ser bairro, cidade, estado, e CEP;
Prognose - alguns sintomas que ajudem a direcionar ainda mais a especialidade; cadastrado previamente;
Convênio/plano de saúde - cadastrado previamente;
Data da consulta;
Preço máximo da consulta;
Gênero do médico - masculino, feminino, tanto faz;
Disponibilidade - manhã, tarde, noite, qualquer horário.
Todos os filtros podem coexistir ao mesmo tempo;
Um profissional pode atender em mais de um local; verificar em todas as possibilidades;
Trabalhar com paginação.

Agenda

Profissional pode criar agendas com os seguintes parâmetros:
Título;
Cor;
Companhia - conectar agenda a um local de atendimento específico (opcional);
Abrir para contratação de consultas - se os eventos dessa agenda serão mostrados na pesquisa para usuários ou não;
Configuração padrão da agenda para geração de eventos (opcional):
Dias da semana;
Hora de início e de fim do gradeamento;
Duração da consulta - 15, 30, 45 minutos.
Disponível - se “Abrir para contratação de consultas” for verdadeira, serve como configuração extra para ocultar eventos.
Configuração padrão da agenda não pode ser alterada posteriormente; no entanto, é possível desativar a agenda de uma data em diante;
Agenda pode receber configurações extras que modifiquem a configuração padrão durante um tempo delimitado:
É possível criar uma nova configuração com os mesmos parâmetros da configuração padrão;
Não é possível criar uma nova configuração para o intervalo se “Abrir para contratação de consultas” for verdadeiro e houver algum horário marcado.
Agenda pode receber eventos “avulsos” marcados pelo usuário, se:
“Abrir para contratação de consultas” for falso.
Após criada uma agenda, o profissional pode compartilhar com outros usuários:
Inclusão será feita unicamente via e-mail (e-mail cadastral do usuário que se pretende incluir);
Dar nível de permissão simples - readonly, read/write;
Profissional pode, igualmente, revogar acesso concedido.

Financeiro
Listar pagamentos realizados
Listar pagamentos recebidos
Listar histórico de pagamentos

Admin
Cadastro de plano de serviço (número de consultas, valor mensal, número de destaques mensal por categoria)
Cadastro de plano de anúncio 
Cadastro de plano de patrocínio (número de visualizações, categoria, região, cidade, especialidade)
Cadastro de especialidade
Cadastro / Gestão de usuários e anunciantes (cadastro, bloqueio, permissão)
Rotina de Perfil do usuário
Rotina de listagem de anúncios
Cadastro de parâmetros da agenda do profissional
Cadastro de parâmetros da clínica e/ou consultório


O sistema utiliza como referência sites internacionais como o www.zocdoc.com, e nacionais como www.doctoralia.com.br ou www.drconsulta.com.

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Alteração média
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Experiência nesse tipo de projeto Sim (Eu já gerenciei esse tipo de projeto)
Integrações de API Payment Processor (Paypal, Stripe, etc), Outros (Outras APIs)
Funções necessárias Desenvolvedor

Prazo de Entrega: 01 de Agosto de 2019

Habilidades necessárias

Outro projetos publicados por J. J.