PetPlanet

September 16, 2024

PetPlanet: La piattaforma per gli Amanti degli Animali Domestici

Sei curioso di vedere subito il risultato:

Introduzione

PetPlanet è una piattaforma innovativa pensata per gli amanti degli animali domestici. Il suo scopo è offrire uno spazio sicuro e interattivo dove gli utenti possono connettersi, scambiare informazioni, trovare veterinari e organizzare eventi per i loro amici a quattro zampe. Grazie a funzionalità come la ricerca di animali domestici, la messaggistica istantanea e la possibilità di inviare richieste di amicizia tra proprietari, PetPlanet mira a creare una community coesa e orientata al benessere degli animali.

Questo progetto è stato sviluppato come parte di un esame universitario in collaborazione con Umberto Schiavone, ottimo compagno di team. Insieme, abbiamo affrontato la sfida di costruire un'applicazione che fosse funzionale e coinvolgente, rispettando i requisiti tecnici e di design.


Fasi del Progetto

Il nostro approccio si è articolato in diverse fasi, permettendo una gestione organizzata e agile.

  1. Brainstorming e Ideazione:

    • Nella fase iniziale, io e il mio collega abbiamo discusso varie idee per determinare le funzionalità chiave che sarebbero state essenziali per la piattaforma.
    • Abbiamo definito le user stories principali, per garantire che le necessità degli utenti fossero al centro della progettazione.
  2. Progettazione del Wireframe:

    • Una volta identificate le funzionalità principali, abbiamo creato un wireframe dell'interfaccia, delineando le funzionalità principali dell'applicativo, fondamentale poi per organizzare lo sviluppo del frontend.
wireframe picture
  1. Sviluppo Tecnico:
    • Stack utilizzato:
      • Frontend: Angular (TypeScript)
      • Backend: Fastify (Node.js)
      • Database: MongoDB

Sviluppo Backend con Fastify e Mongoose

Nella fase di sviluppo backend, abbiamo utilizzato Fastify, un framework web ottimizzato per le prestazioni in ambiente Node.js. Fastify ci ha permesso di costruire un server altamente performante, garantendo tempi di risposta rapidi anche con numerose richieste simultanee.

Per la gestione del database MongoDB, abbiamo utilizzato Mongoose, che ci ha fornito un'interfaccia semplice per definire modelli di dati e gestire le operazioni CRUD (Create, Read, Update, Delete).

Creazione del Frontend con Angular

Il frontend è stato sviluppato con Angular, un framework open-source che ci ha permesso di creare una Single Page Application (SPA) dinamica. Angular, con la sua struttura modulare, ci ha facilitato la gestione delle diverse sezioni dell'applicazione, offrendo funzionalità come two-way data binding e un robusto sistema di routing.


Sfide e Fallimento della Prima Versione

La nostra prima versione non ha raggiunto i risultati desiderati. Alcune funzionalità non erano ottimizzate e l'applicativo non risultava intuitivo né accattivante. Per avere un'idea di come la prima versione appariva, puoi dare un'occhiata a questo video dimostrativo.

Lezioni Apprese e Sviluppo della Seconda Versione

Dopo il fallimento della prima versione abbiamo lavorato insieme per sviluppare una seconda versione. Abbiamo ottimizzato il backend, implementato nuove soluzioni per il frontend migliorando l'esperienza utente.
Inserendo anche un concetto di gamification per incentivare l'interazione tra gli utenti. Ecco il risultato finale -> video dimostrativo.


Conclusioni

PetPlanet è stato un progetto che ci ha permesso di imparare molto sia a livello tecnico che collaborativo. Nonostante le difficoltà iniziali, siamo riusciti a migliorare il nostro prodotto, applicando quanto appreso durante lo sviluppo. Il lavoro di squadra è stato fondamentale per affrontare le sfide tecniche e arrivare a una soluzione che soddisfacesse le nostre aspettative.

Recap Tecnologie Utilizzate

  • Frontend: Angular (TypeScript), Angular Material
  • Backend: Fastify (Node.js), (JavaScript)
  • Database: MongoDB
  • Librerie: Mongoose, OAuth 2.0 (per l'autenticazione)

Grazie per aver letto il nostro articolo su PetPlanet! Se hai domande o feedback, non esitare a contattarci, puoi trovarci su LinkedIn:
Francesco Santi e Umberto Schiavone.
PetPlanet - Repository GitHub.