Git Product home page Git Product logo

maxillary_depth's Introduction

Primeira Tarefa RoR Full Stack Cfaz.net

Olá, tudo bem?

Esse repositório será sua primeira atividade na empresa Cfaz.net. Nosso propósito é alinhar os conhecimentos de programação e maneiras de codificar. Lembra daquele teste de habilidade? Então, você fará todo aquele sistema ;)

A atividade consiste em fazer algumas modificações neste projeto. Para isso, você deve fazer um fork do projeto, fazer as alterações de acordo com as indicações abaixo, após terminar, entre em contato com a equipe de dev.

Contextualização

Todo paciente que é indicado para fazer um tratamento ortodôntico deve fazer um exame chamado cefalometria, que é um laudo realizado sobre a telerradiografia (radiografia lateral do crânio). Esse exame mede distâncias e ângulos do crânio e auxilia o ortodontista a fazer o planejamento. A partir disso, o ortodontista define quanto tempo e qual aparelho ortodôntico o paciente deverá usar. Uma dessas medidas, se chama profundidade maxilar, que é um ângulo formado por dois planos, chamados Po-Or e N-A. Po é o ponto pório, Or é o ponto orbital, N é o ponto násio e A é o ponto A. Então para conseguir medir esse ângulo, precisamos desses quatro pontos. Segue uma imagem para facilitar o entendimento.

profundidade maxilar

Atividade

Separamos a atividade em três partes e cada parte vamos alinhar um conhecimento. Qualquer dúvida, entre em contato com a equipe de dev, isso não é um teste. Você pode usar qualquer gem ou plugin que precisar, caso não esteja especificado. Este projeto tem o CRUD de paciente e você deverá modificar para que seja possível armazenar exames (paciente pode ter um ou mais exames), cada exame consiste no armazenamento desses 4 pontos. Além de armazenar os pontos você deve calcular o valor do ângulo conforme a figura.

Parte 1 - Conhecimentos gerais de RoR, matemática e lógica

  • Criar o CRUD de exames
  • Exibir a listagem de exames do paciente (alterar a view show de pacientes) com os pontos e valor do ângulo calculado
  • Passar nos specs criados (ATENÇÃO Não sobrescreva o arquivo spec/models/exam_spec.rb)
  • Adicionar data de nascimento no paciente

Parte 2 - Conhecimentos de front-end

Nessa parte esperamos posibilitar que os exames sejam visualizados, criados, editados e excluídos diretamente na show de paciente. Então, todo o CRUD de exames deve ser feito via ajax, para isso, organize o seu código desta maneira e altere a show de pacientes seguindo esses passos (Caso você conheça ou queira testar algum framework de front-end, também poderá utilizar aqui):

  • Carregar a listagem de exames via ajax, após o load da página
  • Alterar o funcionamento do botão de editar exame para que ao clicar, renderize o form de exame (sem reload ou redirecionamento de página) e possibilite a alteração do exame e salve os dados via ajax, sem reload de página
  • Alterar o funcionamento do botão novo exame para que ao clicar, renderize o form de exame (sem reload ou redirecionamento de página) e possibilite a criação de um novo exame
  • Alterar o funcionamento do botão Excluir para que ao clicar, remova o exame (sem reload ou redirecionamento de página) e remova também do banco de dados

Parte 3 - Conhecimentos de WebGL com three.js

(Obrigatório o uso do three.js)

  • Criar na página show de exame um canvas para representar graficamente os planos Po-Or e N-A do paciente no espaço 3D. Pode utilizar qualquer classe para desenhar(Line, PlaneGeometry, Shape, ...). O resultado esperado é o desenho dos dois planos e a interseção desses.
  • Implementar ações de movimento de câmera para visualizar os planos de outros ângulos. (dica: utilizar o THREE.TrackballControls)

Bem vindo!

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.