Semestre 2017-1
Requisitos Funcionais
Resource: oauth
RFS01: POST /oauth
Resource: usuario
RFU01: POST /usuarios (FEATURE REQUEST: cadastro simplificado X completo)
RFU02: GET /usuarios
RFU03: GET /usuarios/{id_usuario}
RFU04: PUT /usuarios/{id_usuario}
RFU05: DELETE /usuarios/{id_usuario}
RFU06: GET /usuarios/{id_usuario}/perfis
RFU09: PUT /usuarios/{id_usuario}/perfis
Resource: menor
RFM01: POST /menores
RFM02: GET /menores
RFM03: GET /menores/{id_menor}
RFM04: PUT /menores/{id_menor}
RFM05: DELETE /menores/{id_menor}
RFM06: GET /menores?idade={{pontoIdade}}&sexo={{pontoSexo}}
RFM07: POST /menores/{id_menor}/interessados
RFM08: GET /menores/{id_menor}/interessados
RFM09: DELETE /menores/{id_menor}/interessados/{id_interessado}
RFM10: POST /menores/{id_menor}/imagens
RFM11: GET /menores/{id_menor}/imagens
RFM12: GET /menores/{id_menor}/imagens/{id_imagem}
RFM13: DELETE /menores/{id_menor}/imagens/{id_imagem}
RFM14: POST /menores/{id_menor}/videos
RFM15: GET /menores/{id_menor}/videos
RFM16: GET /menores/{id_menor}/videos/{id_video}
RFM17: DELETE /menores/{id_menor}/videos/{id_video}
Resource: interessado
RFI01: POST /interessados
RFI02: GET /interessados
RFI03: GET /interessados/{id_interessado}
RFI04: PUT /interessados/{id_interessado}
RFI05: DELETE /interessados/{id_interessado}
RFI06: PUT /interessados/{id_interessado} (DEPRECATED)
RFI07: GET /interessados/{id_interessado}/ordenacao
RFI08: PUT /interessados/{id_interessado}/ordenacao
RFI09: POST /interessados/{id_interessado}/visualizacoes
RFI10: GET /interessados/{id_interessado}/visualizacoes
RFI11: PUT /interessados/{id_interessado}/visualizacoes
RFI12: GET /interessados?query=id_menor={id_menor}
RFI13: POST /interessados/{id_interessado}/menores (FEATURE REQUEST: bloqueio após o primeiro)
RFI14: GET /interessados/{id_interessado}/menores
Resource: conteudo
RFC01: POST /conteudos
RFC02: GET /conteudos
RFC03: PUT /conteudos/{id_conteudo}
RFC04: DELETE /conteudos/{id_conteudo}
RFC05: POST /conteudos/{id_conteudo}/imagens
RFC06: GET /conteudos/{id_conteudo}/imagens
RFC07: GET /conteudos/{id_conteudo}/imagens/{id_imagem}
RFC08: DELETE /conteudos/{id_conteudo}/imagens/{id_imagem}
RFC09: POST /conteudos/{id_conteudo}/videos
RFC10: GET /conteudos/{id_conteudo}/videos
RFC11: GET /conteudos/{id_conteudo}/videos/{id_video}
RFC12: DELETE /conteudos/{id_conteudo}/videos/{id_video}
Semestre 2017-2
Requisitos Funcionais
Resource: usuario
RFU07: POST /usuarios/{id_usuario}/perfis
RFU08: DELETE /usuarios/{id_usuario}/perfis/{id_perfil}
Resource: perfil
RFP01: POST /perfis
RFP02: GET /perfis
RFP03: GET /perfis/{id_perfil}
RFP04: PUT /perfis/{id_perfil}
RFP05: DELETE /perfis/{id_perfil}
RFP06: GET /perfis/{id_perfil}/usuarios
RFP07: POST /perfis/{id_perfil}/usuarios
RFP08: DELETE /perfis/{id_perfil}/usuarios/{id_usuario}
Resource: menor
RFM18: PUT /menores/{id_menor} (id_abrigo ou id_familia)
RFM09: POST /menores/{id_menor}/processos
RFM20: GET /menores/{id_menor}/processos
RFM21: GET /menores/{id_menor}/processos/{id_processo}
RFM22: DELETE /menores/{id_menor}/processos/{id_processo}
Resource: interessado
RFI15: DELETE /interessados/{id_interessado}/menores/{id_menor} (FEATURE REQUEST: não permitir e trocar por mensagem para o JIJ)
RFI16: POST /interessados/{id_interessado}/menores/{id_menor}/compartilhamentos
RFI17: GET /interessados/{id_interessado}/mensagens
RFI18: PUT /usuarios/{id_usuario}/mensagens
RFI19: POST /interessados/{id_interessado}/documentos
RFI20: GET /interessados/{id_interessado}/documentos
RFI21: GET /interessados/{id_interessado}/documentos/{id_documento}
Resource: mensagem
RFM01: POST /mensagens
RFM02: GET /mensagens
RFM03: GET /mensagens?query=data_inicial={data_inicial}&data_final={data_final}
RFM04: PUT /mensagens/{id_mensagem}
RFM05: POST /mensagens/{id_mensagem}/resposta
RFM06: DELETE /mensagens/{id_mensagem}
Resource: abrigo
RFA01: POST /abrigos
RFA02: GET /abrigos
RFA03: PUT /abrigos/{id_abrigo}
RFA04: DELETE /abrigos/{id_abrigo}
Resource: familia
RFF01: POST /familias
RFF02: GET /familias
RFF03: PUT /familias/{id_familia}
RFF04: DELETE /familias/{id_familia}
Resource: processo
RFO01: POST /processos
RFO02: GET /processos
RFO03: PUT /processos/{id_processo}
RFO04: DELETE /processos/{id_processo}
RFO05: POST /processos/{id_processo}/movimentos
RFO06: GET /processos/{id_processo}/movimentos
RFO07: PUT /processos/{id_processo}/movimentos/{id_movimento}
RFO08: DELETE /processos/{id_processo}/movimentos/{id_movimento}
Detalhamentos
RFM06: GET /menores?idade={{pontoIdade}}&sexo={{pontoSexo}}
A entrada deverá ser validada:
- pontoIdade > 0 && pontoIdade < 18
- pontoSexo >= 0 && pontoSexo <= 1
O cálculo do fator de ordenação do conjunto de menores a ser exibido para o usuário utilizará a seguinte fórmula:
Ponto escolhido pelo usuário
- pontoIdade: preferência de idade calculada a partir da coordenada escolhida pelo usuário no eixo "idade", convertida para anos anos, com parte fracionária para os meses e dias em base decimal, variando de 0 a 18
- pontoSexo: preferência de sexo calculada a partir da coordenada escolhida no eixo "sexo", variando de 0 a 1, sendo que 0 = feminino, 1 = masculino e 0,5 demonstra indiferença quanto ao sexo
Fatores de ajuste do cálculo
Devem ser implementados preferencialmente como parâmetros de configuração do aplicativo (pode ser por usuário).
- pesoIdade: peso do fator idade (padrão = 1,0)
- pesoSexo: peso do fator sexo (padrão = 2,0)
Dados dos menores do conjunto a ser ordenado
- menorIdade: idade de cada menor do conjunto convertida para anos com fração decimal
- menorSexo: sexo de cada menor do conjunto, sendo que 0 = feminino, 1 = masculino
Cálculo do fator de ordenação de cada menor do conjunto a ser ordenado
menorOrdem =
Raiz(
(
Potência(
Absoluto(
(pontoIdade/18*(pesoSexo/pesoIdade)) -
(menorIdade/18*(pesoSexo/pesoIdade))
),
2) +
Potência(
Absoluto(
pontoSexo -
menorSexo)
),
2)
),
2
)