Coder Social home page Coder Social logo

cerebello's People

Contributors

andrerpena avatar masbicudo avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

cerebello's Issues

Proposta para a divisão dos nossos esforços

@masbicudo , na minha experiência com programação, eu acho que dividir a responsabilidade sobre o trabalho é útil no sentido de que nós somos capazes de "culpar" alguém quando algo dá errado. Tipo.. se nenhum de nós é explicitamente responsável por alguma coisa, é difícil determinar de quem é a culpa quando algo dá errado. Além disso, dividir a responsabilidade permite que um de nós se foque melhor em alguma coisa.. ficar dando "switches" entre uma coisa e outra causa que vc tenha que saber muitas coisas e diminui sua proficiência.

Eu não estou propondo uma divisão engessada de tarefas, isto é, não é porque eu sou responsável por alguma coisa que eu não me importo com a sua opinião e vice-versa. Nós somos um time, o que um de nós faz é interesse do outro e tudo deve ser discutido e acordado, definitivamente. E da mesma forma, nós podemos sim ajudar o outro a fazer o que é responsabilidade do outro quando for necessário. Não é tipo: "Isso é responsabilidade sua e eu vou não vou por a mão". Não é para ser engessado.

Sendo assim eu sugiro a seguinte divisão de responsabilidades: (é óbviu que vc pode argumentar e nós podemos discutir sobre isso)

Responsabilidades do André Pena:

  • Especificação (Junto com Miguel Angelo): Isso é uma coisa crítica e nós devemos fazer isso juntos.
  • Site Institucional: Eu já comecei a fazer e já tenho proficiência com o Twitter Bootstrap. Pra mim é mais fácil manter a responsabilidade sobre isso
  • Estilos CSS: Eu tenho bastante experiência com isso e gosto desse trabalho. Isso já tá quase 100%.
  • Estabelecimento do framework e padrões: Eu já fiz 80% de todo o framework que vai ser necessário para a versão 1. Eu fico responsável por estabelecer este framework e garantir que ele funciona. Obviamente você (@masbicudo), tem a liberdade de corrigir bugs e principalmente implementar novas funcionalidades quando essas forem necessárias.
  • Documentação do framework e documentação para o usuário final: Eu já comecei a fazer a documentação do framework e já comecei a fazer a documentação do usuário utilizando o Twitter Bootstrap. Isso pode ficar comigo.
  • Implementação do CallStack: O CallStack é fundamental para criar uma base de conhecimento forte e completa online para suporte ao usuário. Isso também é ótimo para o Google trazer novos visitantes devido ao grande número de páginas indexadas.
  • Revisão: Eu quero manter o conhecimento sobre todo o código fonte e garantir que ele está nos padrões
  • Tradução: - Eu acho que eu posso ir traduzindo o código para arquivos de recurso e escrevendo em inglês e português enquanto você desenvolve o software.

Responsabilidades do Miguel Angelo:

  • Especificação (Junto com o André Pena): Isso é uma coisa crítica e nós devemos fazer isso juntos.
  • Aprimoramento do framework: Você fica com a responsabilidade de aprimorar o framework conforme nós julgarmos que isso é necessário.
  • Implementação das regras de negócio: Você fica responsável pela implementação de toda a regra de negócio do software, é claro, passando pela nossa especificação e a minha revisão
  • Implementação dos testes unitários: Você fica responsável pela implementação e manutenção dos testes unitários das regras de negócio

Conclusão:

Como você pode perceber, eu estou propondo que o seu trabalho seja mais focado em desenvolvimento da aplicação em si enquanto eu cuido de todo o resto. Apesar de existirem mais ítens para mim, eles são claramente ítens menos complexos. As regras de negócio e testes unitários são extremamente mais complexos. Você também pode perceber que eu deixei os aspectos mais humanos para mim, como aparência, relacionamento com o usuário e etc.

Eu fiz essa proposta baseada em 2 coisas: Nossos perfis (você é mais técnico) e tempo. Como eu vou trabalhar nesse projeto depois de já ter trabalhado 8 horas no meu day-job é melhor que eu fique responsável por coisas que exigem mais tempo do que cérebro. Resolver um bug do software 21:00h depois do trabalho, para mim é bem mais complexo do que passar 2 horas escrevendo documentação, mexendo no estilo ou traduzindo.

Qual é a sua opinião?

Não está mais sendo possível salvar consultas com horários conflitantes

@masbicudo: Primeiro.. vc fez um bom trabalho na questão dos compromissos.. ficou muito legal! Eu testei várias situações, como criar e depois visualizar.. como vc lidou com a validação e etc. Ficou ótimo! \o/

Mas eu acho que vc mudou um comportamento sem antes falar comigo. Antes existiam 2 tipos de "warning" mostrados no painel embaixo (não o painel de validação). Tinha warnings dizendo que vc não deveria salvar naquele horário mas não reclamava se vc fizesse.. e tinha warnings que, se vc tentasse salvar, ia dar um erro real de validação (dos que aparecem no topo da tela).

Salvar uma consulta fora do horário de trabalho é impossível porque eu teria que redimensionar a semana pra mostrar 1 único compromisso. Isso é complexo. Mas salvar consultas em horários concomitantes não era um problema pra mim. O jQuery Full calendar lida muito bem com isso. Então eu deixava o usuário fazer isso. E isso faz sentido. Liga um paciente passando mal querendo marcar pra hoje. O médico autoriza e a secretária marca o horário dele junto com o de outro. Eles aparecem lado a lado na agenda compartilhando o horário. Isso funcionava antes.

O que você acha?

Implementar um sistema de notificações básico

Um sistema de notificação é um sistema no qual um usuário do software é informado quando algo relevante acontece.. é equivalente ao sistema de notificações do GitHub e do Facebook. (lista de mensagens.. e mostra visualmente quando tem uma mensagem não lida)

Com relação ao médico, eu acho que ele deve ser notificado quando: (exemplos)
- Uma nova consulta é incluida pela secretária nas próximas 24 horas
- Uma consulta é remarcada/cancelada pela secretária nas próximas 48 horas.
- ... @masbicudo , dá uma dica ai

@masbicudo, o que vc acha? Acho que uma boa forma de atribuir essa tarefa é vc cuidar das actions e testes unitários e eu cuido do JS, CSS, o que vc me diz?

A tela de editar usuário dá exceção ao tentar salvar

Porra Miguel.. de duas telas que vc fez que eu cliquei em "salvar" hoje.. as duas deram exceção.

Passos para reproduzir:

  • entre na tela /p/consultoriodrhourse/users/edit/1
  • clique em "salvar"

Exceção:

The ViewData item that has the key 'MedicalSpecialty' is of type 'System.Int32' but must be of type 'IEnumerable<SelectListItem>'.

Doctor e Secretary estão sem PK com Identity no banco

@masbicudo, quando a gente fez aquele refactoring que agora é o User que aponta para o Doctor e para o Secretary nós esquecemos de re-incluir o Identity (auto-increment) no PK desses tipos... Pq antes não precisava pq ele fazia referencia FK para outro PK que esse sim era Identity. Eu estou mudando isso no banco e fazendo pull

Problemas ao marcar uma consulta

Eu detectei os seguintes problemas na agenda:

  • Quando vc clica num "slot" da agenda, dentro do horário de almoço, ele muda seu horário. As vezes ele muda o horário para depois, as vezes muda para antes. Como nós já conversamos, ele não pode mudar o seu horário, você deve ter esquecido de arrumar isso. Ele deveria acusar um "warning".
  • Quando você clica num "slot" no passado, ele diz que "não é possível marcar uma consulta no passado" mas isso não é verdade. Tem que mudar essa mensagem.
  • O botão excluir consulta dentro do popup de compromissos aparece escrito consulta mesmo quando é um compromisso genérico. Por mim, pode renomear simplesmente para "excluir", mas qualquer coisa que vc fizer nesse caso eu concordo.

Permitir definir o fuso-horário do consultório no momento de sua criação, e usar a informação de fuso para fazer operações com datas.

A definição de um fuso para o consultório é necessária para que o sistema saiba que horas são no local em que o consultório está.

Um exemplo de como isso pode influenciar no resultado é o uso do código DateTime.Now em vários lugares, como forma de saber a hora atual do usuário, o que está errado.

Portanto, essa issue consta também de localizar, analisar e alterar todos os lugares em que ocorre trafego de datas, seja como input ou output, e fazer as conversões usando o fuso-horário indicado pelo usuário, fazendo com que o valor do DateTime seja marcado como sendo UTC relativo ao servidor, ou Local relativo ao usuário.

Existe algo inconsistente com o botão "marcar retorno" na ficha do paciente

Não sei exatamente o que é o problema então vou descrever as circunstâncias:

São 22:55h agora, é obviamente depois do espediente do médico. Quando eu clico em "marcar retorno" na ficha de um paciente, o popup está vindo com o horário entre 17:30h e 18:00h de hoje selecionado. Além disso, o popup vem com um erro dizendo que aquele horário é no passado.

A questão é: O popup não pode sugerir um horário inválido, isso é um bug. Outra coisa a se pensar é qual a melhor data para sugerir um retorno.

Eu não sou médico mas eu diria que a melhor data para sugerir um retorno é 30 dias depois. Existem 2 situações:

  • O médico passa um exame e quer que o paciente retorne assim que o exame estiver pronto (neste caso, em geral, vai ser um prazo menor que 30 dias)
  • O médico prescreve um exame e espera que o paciente volte em 30 dias para uma reavaliação (os planos de saúde somente pagam cada médico uma vez a cada 30 dias então o médico prefere que você volte 30 dias depois)

O que vc acha?

Criar uma forma de dar para definir a data/hora do compromisso ao abrir o popup de novo compromisso

Cara.. nós não conversamos sobre isso e você pode recusar ou argumentar sobre essa issue, mas eu estive pensando:

No botão de nova consulta que vai ter no layout do médico do lado da pesquisa global, seria extremamente interessante se ele já fosse para o próximo horário disponível, porque eu acho que 80% das consultas agendadas pela secretária (não retornos) são para o próximo horário disponível.

Isso também resolveria o problema da consulta depois de 30 dias.

O que você acha? (eu usei a tag Proposal porque isso está em aberto)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.