Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft: Feature/graduation stats #165

Merged
merged 4 commits into from
Mar 27, 2024
Merged

Draft: Feature/graduation stats #165

merged 4 commits into from
Mar 27, 2024

Conversation

andre-sakuma
Copy link
Collaborator

@andre-sakuma andre-sakuma commented Mar 19, 2024

Feature

Descrição

Implementa um endpoint para listagem de cursos com suas disciplinas populadas e outro para calcular o quanto o usuário já realizou de um dado curso.
Esse seria um primeiro passo para implementar o recomendador de disciplinas para matrícula. Com esse PR, podemos computar o que o usuário já fez de um determidado curso e o que falta para ele realizar.
Assim, com o PDF de disciplinas ofertadas, podemos recomendar quais matérias o aluno deveria pegar considerando:

  • horários conflitantes
  • período
  • disciplinas obrigatórias
  • disciplinas limitadas
  • tipo de professor (futuramente)
  • menores chances de ser chutado (futuramente)

GET /v1/graduations
Formato de retorno

Graduation[]

GET /v1/graduations/stats/:graduationId
Precisa de autenticação

Formato de retorno

{
    "percentage": {
        "mandatories": number // percentage [0, 1]
        "limited": number // percentage [0, 1]
    },
    "credits": {
        "mandatories": {
	    "done": number
	    "total": number
        },
        "limited": {
	    "done": number
	    "total": number
        }
    },
    "missing": {
        "mandatories": SubjectGraduation[]
        "limited": SubjectGraduation[]
    }
}

Como posso testar isso?

Pré-Requisitos:

  • Ter a collection graduations populada
  • Ter a collection subjectgraduations populada
  • Ter a collection subjects populada

Listagem de Graduations

  1. Chamar a rota GET /v1/graduations
  2. Deve listar as graduações com o campo subjects populado com suas respectivas disciplinas obrigatórias e limitadas

Estatísticas da graduação

  1. chamar a rota GET /v1/graduations/stats/:graduationId com o header de autenticação
  2. Deve retornar seguindo o formato previamente especificado

Checklist

  • Implementação dos endpoints
  • Otimizar endpoints
  • Garantir que o banco de prod está populado com os cursos e disciplinas corretamente, incluindo o plano de ensino (subjectgraduation)
  • Garantir que as disciplinas ofertadas em 2024.2 estão populadas no banco
  • Adicionar campo de horários em disciplinas ofertadas
  • Implementar recomendador de matrícula em disciplinas

@andre-sakuma andre-sakuma self-assigned this Mar 19, 2024
@Joabesv Joabesv self-requested a review March 20, 2024 17:46
@Joabesv
Copy link
Member

Joabesv commented Mar 27, 2024

LGTM!

@Joabesv Joabesv merged commit f50b0ad into master Mar 27, 2024
2 of 4 checks passed
@Joabesv Joabesv deleted the feature/graduationStats branch March 27, 2024 21:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants