Proposta

O objetivo do estudo foi trabalhar em cima de um código antigo e fazer a refatoração. As telas de Storyboard tiveram que ser refeitas em View Code e a arquitetura passou de MVC para MVVM. Além disso, outros pontos do código foram melhorados visando a melhor qualidade.

Objetivo

O aplicativo permite agendar serviços. Após o agendamento o usuário pode visualizar quanto tempo falta para o mesmo, tem a opção de cancelar caso esteja a mais de 2 horas do horário de encerramento e recebe uma notificação 15 minutos antes do evento.

Telas

Escolhendo serviço

A tela inicial exibe a data atual, uma mensagem explicando sobre o DevServices e o número de serviços já solicitados.

A segunda tela exibe os serviços disponíveis. Esses serviços são obtidos através de uma API.

Após selecionar o serviço, é a vez de selecionar a data e hora. O cálculo do término é feito baseado na duração do serviço escolhido.

Captura_de_Tela_2023-01-29_às_11.37.07_PM-removebg-preview.png

Notificação local

Ao solicitar o serviço, o usuário irá receber uma notificação 15 minutos antes do início.

Aplicativo em background

Aplicativo em background

Aplicativo fechado

Aplicativo fechado

Cancelamento do serviço

O serviço pode ser cancelado caso o horário restante seja maior que 2 horas.

Cancelamento do serviço

Cancelamento do serviço

Serviço não pode ser cancelado

Serviço não pode ser cancelado