Skip to content

web scraping of the complementary activities page of ITE college.

Notifications You must be signed in to change notification settings

ViniciusLucchesi/atividades-complementares-ite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Atividades Complementares

programming_language   fastapi   test

API que coleta e disponibiliza informações sobre as atividades complementares da faculdade.

Coletados via Web Scraping e disponibilizados no formato JSON

Rotas   •   Modelos



🔭 Rotas

📒 GET /activities

http://127.0.0.1:8000/api/v2/activities

Filtros que podem ser aplicados

  • http://127.0.0.1:8000/api/v2/activities?group={int}

📑 group

O parâmetro group pode ser utilizado para retornar somente as atividades atribuídas ao grupo especificado. Podendo receber como valor somente números inteiros entre 1 e 4.

📑 sorted

Por padrão essa rota já ordena os objetos retornados de maneira decrescente com base na quantidade de horas complementares que serão ganhas ao participar da atividade.


📒 GET /activiteis/auth

http://127.0.0.1:8000/api/v2/activities/auth

Requisitos:

  • usuário
  • senha


📫 Modelos

GET - /activities

[
    {
        "date": "%d/%m/%Y %H:%M",
        "event": "str",
        "professor": "str",
        "local": "str",
        "city": "str",
        "group": 0,
        "hours": 0
    }
]

GET - /activities/auth

[  
  {
    "group": 0,
    "event": "str",
    "event_url": "str",
    "remaining_vacancies": 0
  }
]


🔰 Retornos

❎ Filtro inválido

Se o usuário utilizar o filtro para buscar um grupo específico, mas o número passado como parâmetro for diferente dos valores de 1 a 4, será retornado o seguinte json:

GET http://127.0.0.1:8000/api/v2/activities?group=5
[
  {
    "error": "O parâmetro (group) deve ser de 1 á 4"
  }
]


❎ Dados não encontrados

Se o grupo pesquisado estiver dentro dos valores permitidos, mas nenhuma dado for encontrado, será retornado uma mensagem infromando o ocorrido.

GET http://127.0.0.1:8000/api/v2/activities?group=4
[
  {
    "error": "Não há atividades para o grupo 4"
  }
]


❎ Sem autenticação

GET http://127.0.0.1:8000/api/v2/activities/auth
{
  "detail": "Not authenticated"
}


❎ Autenticação inválida

GET http://127.0.0.1:8000/api/v2/activities/auth
[
  {
    "error": "Matricula ou senha incorretos"
  }
]


✅ Dados encontrados

Se o filtro estiver correto e os dados existirem, eles serão retornados no formato abaixo:

GET http://127.0.0.1:8000/api/v2/activities?group=1
[
  {
    "date": "21/10/2023 08:00",
    "event": "Curso: Entendendo os demonstrativos contábeis",
    "professor": "Prof. Esp. Osvaldo Luis Gonçalves da Cunha",
    "local": "Sala 203 bloco 5",
    "city": "Bauru",
    "group": 1,
    "hours": 4
  },
  {
    "date": "21/10/2023 08:00",
    "event": "Curso: Entendendo os demonstrativos contábeis",
    "professor": "Prof. Esp. Osvaldo Luis Gonçalves da Cunha",
    "local": "zoom",
    "city": "Bauru/Botucatu",
    "group": 1,
    "hours": 4
  }
]

GET http://127.0.0.1:8000/api/v2/activities/auth

auth = {
  "username": "<seu_RA>"
  "password": "<sua_senha>"
}
[  
  {
    "group": 3,
    "event": "Palestra: Perícia para Administradores - Bauru/Online",
    "event_url": "https://portal.ite.edu.br/atividadescomplementares/eventos?atividade=NAC2023%2095",
    "remaining_vacancies": 139
  }
]

About

web scraping of the complementary activities page of ITE college.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published