Projeto de grupo · enunciado em preparação
Tempo Açores
Uma app de meteorologia para os Açores, construída sobre a API do curso, que por sua vez envolve os dados abertos do IPMA: previsão a 5 dias por localidade, avisos meteorológicos, sismos, favoritos sincronizados, mapa e notificações.
Porquê esta app
Porque tem tudo o que uma app móvel real tem: listas e detalhes, dados que mudam, rede que falha, dados que convém guardar para quando não há rede, localização, notificações, e uma API com autenticação. E porque os dados são daqui: as ilhas, as localidades e os avisos são os dos Açores.
O que a app faz (mínimo)
- Lista de ilhas e localidades, com pesquisa.
- Previsão a 5 dias para uma localidade, com ícones e temperaturas mínima e máxima.
- Avisos meteorológicos ativos para os Açores.
- Favoritos guardados no backend, associados ao grupo, sincronizados entre dispositivos.
- Funciona sem rede com os últimos dados obtidos, e mostra quando os dados são antigos.
- Estados de loading, erro e vazio tratados em todos os ecrãs.
Extras valorizados
- Mapa com as localidades e o estado do tempo atual.
- Notificação local quando entra um aviso para uma localidade favorita.
- Deep link que abre a app diretamente numa localidade.
- Sismos recentes na região.
- Tema claro e escuro, português e inglês.
- Testes de widget e CI a correr no repositório.
Como se trabalha
- Grupos de 2 a 3. Formados na aula 15. Cada grupo recebe um client-id da API do curso e um repositório via GitHub Classroom.
- Três sprints de cerca de duas semanas, com review em aula no fim de cada uma (02/11, 18/11, 02/12).
- Tudo por pull request. Cada funcionalidade é um PR revisto por um colega do grupo antes de entrar no
main. - Distribuição a testers a partir da aula 27 (20/11): a app instalada no telemóvel de outra pessoa através do Firebase App Distribution ou do TestFlight.
- Freeze a 09/12 e defesas a 14 e 16/12, com demo no telemóvel e perguntas a cada membro.
A API do curso
Não vais chamar o IPMA diretamente. A API do curso normaliza os dados, exige autenticação com o token do teu grupo, guarda os favoritos, e de vez em quando é ligada em modo caos pelo docente (latência, erros 429 e 500) para veres se a tua app aguenta. A documentação fica em API a partir da aula 12.