MyVet User Native

La trasposizione nativa dell'app MyVet in SwiftUI.

Software Engineer

Dicembre 2024 - Settembre 2025

By Vincenzo Prisco2 min di lettura
Prima pagina di una presentazione del progetto
GitHub - Carbocode/myvet-native
Contribute to Carbocode/myvet-native development by creating an account on GitHub.
Apri il collegamento esterno
GitHub

Introduzione

Al corso di Ingegneria e Scienze Informatiche dell’Università di Bologna, è presente un esame facoltativo di Sviluppo Mobile.

Da usufruitore dell'ecosistema Apple e appassionato di sviluppo mobile, mi sono iscritto al corso e ho deciso di portare un rifacimento dell'applicazione MyVet User, applicazione che ho co-prodotto in qualità socio e programmatore di MyVet S.r.l.

Scopo

Lo scopo e' quello di presentare un'applicazione MVP per l'esame, garantendo la compatibilità con l'app originale, con anche l'intento di presentarla come demo al resto dei soci, dove al tempo era oggetto di discussione la possibilità di ricostruire l'app.

Struttura

Dato che l'esame consiste nella presentazione del solo frontend nativo, come backend ho usato le API dell'ambiente aziendale di Development.

Nel momento della presentazione, il software permette di:

  • registrarsi e accedere tramite credenziali, negoziando un Token JWT;

  • registrarsi e accedere con il proprio account Apple;

  • CRUD completo dei propri animali;

  • ricerca fuzzy e geolocalizzata dei veterinari su mappa nativa, attraverso il motore di ricerca Elasticsearch;

  • salvare i professionisti trovati;

  • prenotare un appuntamento;

Architetturalmente parlando, l'applicazione e' progettata totalmente seguendo il pattern MVVM e utilizza una logica a servizi per condividere lo stato delle entità applicative.

Peculiarità

Questo progetto e' stato l'utilizzo di Liquid Glass, iniziando il progetto con le versioni Beta Sviluppatore, rilasciate dopo la presentazione alla WWDC25. Cio' mi ha permesso di essere il primo in assoluto a portare un progetto con il nuovo linguaggio visivo.

Tra le altre unicità, per via della pesantezza di XCode, il mio povero MacBook M2 da 8GB non era in grado di reggere l'IDE e l'Emulatore iOS contemporaneamente. Quindi, per impedimenti tecnologici, l'applicazione e' stata totalmente sviluppata in versione desktop e compilata al termine dello sviluppo delle singole feature nella versione mobile. Questo mi ha garantito anche il primato di prima app Desktop presentata al corso.

Conclusione

Il mio progetto ha rispettato appieno tutte le richieste minime applicative, presentando anche tutte le feature opzionali, superando ampiamente i punti massimi possibili.

Questo più tutte le esclusività come Liquid Glass e la versione Desktop, ho ricevuto la splendida valutazione di 30 e Lode.