mercoledì 12 giugno 2013

Tripandia Points, dai valore ai tuoi viaggi!

E' tempo di novità per Tripandia, da ieri sono arrivati i Tripandia Points!

Vuoi sapere come funzionano?

Ad ogni tuo racconto viene assegnato un punteggio che varia da 0 a 100, in base alla sua completezza. Più dettagli inserisci nel tuo racconto, più Tripandia Points gli verranno assegnati.
Il calcolo avviene in tempo reale: ad ogni modifica al tuo racconto di viaggio, potrai vedere immediatamente i Tripandia Points accumulati.


E come faccio a capire come incrementarli? Semplice, in ogni momento ti viene data un elenco di suggerimenti, permettendoti così di intervenire immediatamente sulle parti mancanti del tuo racconto.


Ma non è finita qui. I Tripandia Points dei tuoi viaggi concorrono a determinare il tuo punteggio personale, che puoi trovare nella pagina del tuo profilo, così come in tutte quelle degli altri viaggiatori di Tripandia.

Dunque cosa aspetti? Corri a raccontare le tue esperienze di viaggio su www.tripandia.com. Da oggi è ancora più divertente con i Tripandia Points!

giovedì 7 marzo 2013

Tripandia è online!



Finalmente, dopo ben un anno e quattro mesi di duro lavoro, il sito che ho sempre desiderato fare è online: www.tripandia.com

Di cosa si tratta? Beh partiamo dall'inizio...ormai circa quattro/cinque anni fa mi era venuta l'idea di creare un sito internet dedicato ai viaggiatori che, come me, erano alla disperata ricerca di informazioni prima della partenza dei loro viaggi.
La motivazione era data dal fatto che, in quel momento, i siti che riportavano racconti di viaggio davvero utili erano ben pochi e tra l'altro realizzati molto male e dunque di poca utilità.
Perché mi devo leggere un racconto di venti pagine, per poi capire che non è il viaggio adatto a me, quando mi basterebbero pochi elementi chiari per capire di che cosa si tratta?
Perché pochissimi siti mi fanno vedere la mappa del viaggio prima che lo legga?
E così tanti altri perché mi spingevano a volerne creare uno mio.

Certo il progetto che avevo in mente non era banale, diciamo non era il sito che si sarebbe realizzato in qualche mese da solo alla sera. Perciò passano gli anni e il progetto rimane lì fermo nella mia testa.

Ma quando un anno e mezzo fa il mio collega Mauro mi ha coinvolto nel suo desiderio di sperimentare qualcosa di nuovo, realizzare un progetto con tecnologie nuove, con le nuove idee provenienti dal web (nostra passione da sempre), la decisione è stata facile: realizziamo Tripandia!

E così ci siamo...dopo aver tirato a bordo negli ultimi mesi anche Antonio, da circa una settimana il sito è online. Cosa è venuto fuori da questo lavoro? Beh sicuramente la cosa migliore è andare su www.tripandia.com e provarlo con i vostri occhi.
Certo quella che vedrete è una prima versione e la strada è ancora lunga. Vi dico solo che il nostro mitico documento "Tripandia 2", dove annotiamo tutte le idee ancora da realizzare, ha una quantità di attività che sono maggiori di quello realizzato fino ad ora! E comunque non abbiate paura a darci ulteriori nuove idee...il file non ha limiti!!

In sintesi Tripandia è un sito che raccoglie racconti di viaggio. Ma lo fa in modo nuovo, innanzitutto in modo strutturato, dando grande importanza all'itinerario effettuato, alle località visitate, e soprattutto ai compagni di viaggio! Ebbene si, Tripandia ha anche molte caratteristiche "social" (come avrebbe potuto non averle??), tu non sarai da solo a creare il tuo viaggio ma i tuoi compagni di viaggio possono aiutarti, aggiungendo i propri racconti, le proprie foto, altre località visitate che magari hai dimenticato.

Beh non voglio svelare altro, altrimenti ti perderesti la sorpresa...quindi registrati subito su www.tripandia.com e inizia a raccontare i tuoi viaggi. Proverai personalmente che inserire un viaggio è anche divertente, oltre al fatto che, in questo modo, salverai per sempre i ricordi di quello che è per me una delle cose più belle della vita...viaggiare.







martedì 14 febbraio 2012

Domain Model o View Model?

Per quanti di voi hanno studiato e utilizzano ASP.NET MVC o comunque qualsiasi altro framework basato sul pattern MVC, saprà benissimo cosa si intende per Model, View e Controller.
Bene, se per view e controller generalmente non si hanno dubbi nell'implementazione pratica, per il model è possibile farsi qualche domanda in più.

Devo usare le mie classi di dominio? In molti libri di ASP.NET MVC o quasi in tutti gli esempi in giro per la rete, troverete la solita classe Product o User che viene utilizzata nel controller e passata tranquillamente alla view. Niente di più facile, no?

Ma sarà sempre così? Beh la risposta è...quasi mai!
Basta passare dall'esempio alla prima pagina "reale", per capire subito che le classi da utilizzare nella view non possono essere quelle di dominio. Ecco alcune motivazioni:

  • E' quasi matematicamente certo che una pagina web non contenga dati di una solo classe di dominio. Banalmente se stai creando la pagina di edit del tuo caro oggetto Product e una delle sue proprietà deve essere selezionata da una tendina, dove passo alla view gli item dell'elenco?
  • Può capitare che esistano delle regole di validazione diverse a seconda della view in questione. Queste dunque non possono essere definite tramite il solo meccanismo di validazione tramite attributi delle classi di dominio
  • Capiterà facilmente che la view dovrà gestire solo alcune delle proprietà della classe di dominio. Perchè dunque dovrei fare il bind dei dati con l'intera classe Product, andando magari incontro a problemi di sicurezza nel caso ci fosserò proprietà che non possono essere editati dall'utente? Un utente malintenzionato potrebbe infatti iniettarvi anche queste proprietà in post. E' vero che si può sempre definire a livello di action quali proprietà far gestire o meno dal binder, ma è necessaria una configurazione in più e sopratutto ricordarsi di farla:)

In conclusione, difficilmente le vostre classi di dominio potranno essere passate direttamente alla view, bensì nella quasi totalità dei casi sarà necessario crearsi delle classi ad-hoc (View Model) con le sole informazione che interessano alla view e che vengono poi gestite da essa stessa.

E' innegabile che ciò è un'attività dispendiosa in tempo, ma esistono alcuni progetti interessanti che possono venire in aiuto, come AutoMapper (http://automapper.org) che ti permette di mappare automaticamente le classi del View Model con quelle del Domain model.