About this project
it-programming / web-development
Open
Olá! Estamos em fase avançada de desenvolvimento de software multiplataforma para gerenciamento de consultório odontológico em nuvem. Entretanto, precisamos de um freelancer para desenvolver algumas funcionalidades básicas e comuns para muitos programas, podendo utilizar APIs.
Basicamente precisamos das funcionalidades de Impressão de documentos, editar imagens, inserção de fotos e linha do tempo.
Framework: IONIC 5;
Linguagem: Angular, Typescript e HTML5;
Banco de Dados (se precisar): Google Firebase;
===================
especificações
1. Impressão
• Criação de uma funcionalidade que identifique da onde a impressão está sendo solicitada (ex.: Smartphone ou PC);
• Criação de uma funcionalidade que permita ao usuário escolher a impressora a partir da qual deseja imprimir (ou usar a impressora definida como padrão no sistema);
• Criação de uma funcionalidade que imprima um conteúdo HTML enviado por parâmetro;
2. Editor de Imagens
• Criação de uma galeria que exiba imagens que foram carregadas para uma pasta do storage do Firebase;
• Essa galeria seria um mosaico com todas as imagens existentes na pasta do storage (porém em tamanho reduzido) exibidas lado-a-lado até o fim da tela, o que faria com que as imagens restantes fossem para a linha seguinte, repetindo o processo até que a última imagem fosse exibida;
• Uma vez selecionada a imagem, a mesma deve ser aberta em tamanho natural (de preferência, mas não imprescindível, numa nova janela);
• Deve ser possível, ao menos, aumentar/diminuir a imagem (dar zoom) e girar a mesma;
• Ao fechar a imagem, deve-se exibir novamente as imagens da galeria;
3. Foto
• Criação de uma funcionalidade que carregue imagens para uma pasta de um storage do Firebase;
• Criação de uma funcionalidade que verifique se o aplicativo está rodando num smartphone Android (isso é necessário pois o aplicativo roda tanto no PC quanto no Android);
• Criação de uma funcionalidade que, caso o aplicativo estiver rodando no Android, ele tire foto através da câmera do smartphone e a grave numa pasta de um storage do Firebase;
• Criação de uma funcionalidade, que é chamada somente quando se está criando um avatar, na qual, após tirar a foto, o aplicativo exiba uma "área de corte" que corta a foto na área escolhida antes de enviar a foto para a pasta do storage do Firebase;
4.
Linha do Tempo
Todas as consultas e operações realizadas com o paciente são armazenadas como uma espécie de histórico do paciente que se chama: evolução do paciente. Se ele marca uma consulta e/ou quando ele termina um tratamento, etc, é inserido um registro nessa "evolução". Essas informações são armazenadas na nuvem e normalmente possuem, no mínimo, a data da evolução e um título da mesma.
É Necessário que esses eventos sejam exibidos em uma "linha do tempo" vertical, sendo que os eventos mais recentes fiquem para cima e os mais antigos fiquem para baixo.
Ela linha deve ser dividida por ano e por mês e deve exibir a descrição e a data da evolução (tal como exibido no anexo):
• Criação de uma funcionalidade que exiba os documentos de uma coleção do Firebase;
• A coleção deverá se chamar "evolucao" e o documento deverá ter, no mínimo, os seguintes campos:
o dt_evolucao: armazena a data da evolução
o ds_evolucao: armazena a descrição da evolução
OBS: O desenvolvedor pode acrescentar outros campos a esse documento caso julgue necessário (não é necessário fazer a tela de cadastro da evolução, basta que hajam registros cadastrados numa coleção do Firebase!);
• A linha do tempo deve ser exibida de forma vertical e deve ser dividida por ano e por mês;
• Para cada documento da coleção do Firebase deve-se mostrar um "cartão" ligado a linha do tempo conforme mostrado na imagem acima;
• Desejável (mas não imprescindível) que essa linha do tempo seja construída de forma animada;
Perguntas e Respostas
Pode-se usar algum API ¹ no desenvolvimento?
Sim, pode. Porém ao usar um API o desenvolvedor deve especificar o seguinte:
- Nome e versão do API usado;
- Página com a documentação do api;
obs: as informações acima podem ser comentadas no cabeçalho do próprio código da funcionalidade.
¹: API significa "Application Programming Interface" ou "Interface de Programação de Aplicativos".
Resultados Esperados
• Que o desenvolvedor atenda os requisitos funcionais/técnicos descritos na funcionalidade;
• Que nos seja enviado o código fonte usado no desenvolvimento da funcionalidade. E que todo o código seja comentado, detalhando seu funcionamento, bem como seus parâmetros;
• Que nos seja enviado um executável para Android gerado a partir do código fonte enviado (salvo especificado o contrário);
Category IT & Programming
Subcategory Web development
What is the scope of the project? Medium-sized change
Is this a project or a position? Project
I currently have I have specifications
Required availability As needed
API Integrations Other (Other APIs)
Roles needed Developer
Delivery term: June 09, 2020
Skills needed