Sleepybikes è un progetto che ho ideato nel 2026 durante i miei viaggi in bicicletta. Viaggiando trovai particolarmente scomodo trovare hotel o campeggi dove passare la notte e in particolare hotel che potevano ospitare biciclette dato che difficilmente si trovano categorizzati in base ai servizi che offrono per i cicloturisti, perciò ho deciso di creare io una piattaforma per risolvere questo problema.
Il progetto quindi si offre a hotel o altri tipi di strutture ospitanti di iscriversi alla piattaforma per avere e gestire la propria inserzione, non fornendo noi un sistema di prenotazioni lasciamo che i proprietari rimandino a un link di Airbnb, Booking o proprio per permettere a un cicloviaggiatore di prenotare presso la loro struttura.
Un cicloviaggiatore ha la possibilità di trovare strutture in cui passare la notte attraverso una mappa interattiva o utilizzando un sistema di ricerca filtrato in cui può selezionare in quale città cercare, quanto la struttura può distare dal centro città, che tipo di struttura può essere, ecc...
Approfondimenti
NuxtJS come framework fullstack
Per questo progetto ho deciso di usare NuxtJS in quanto è un framework che avevo iniziato ad approfondire e introdurre in azienda poco prima di lasciare Focus Informatica, avendo già esperienze in Vue con Nuxt mi sono trovato molto bene.
Questo diventa il mio primo progetto ad utilizzare typescript lato backend, in passato a lavoro ho sempre usato .NET che rimane un ecosistema in cui mi trovo comunque molto bene.
La scelta di utilizzare, quindi, typescript lato backend è stata puramente spinta dalla mia curiosità personale, sicuramente se avessi usato gli strumenti che già ho avuto modo di imparare nelle mie esperienze precenti mi sarei mosso molto più velocemente ma rimane la mia opinione che i progetti personali devono avere come prima priorità quella di soddisfare la propria curiosità e di imparare nuovi metodi o tecnologie, cose per cui in un ambiente lavorativo non sempre si ha la libertà di fare.
Utilizzo dell'intelligenza artificiale
Imparare, questo fu un principio chiave del progetto come ho accennato, perciò l’utilizzo dell’intelligenza digitale durante il progetto è stato molto limitato e solo a scopi di ricerca e debugging, NESSUNA riga di codice di questo progetto è stata scritta da un LLM.
Bun come runtime
Come runtime ho scelto Bun, ormai a me sembra anche una decisione ovvia per un progetto nuovo in confronto a Node, non ho mai trovato particolari svantaggi ed è nettamente più veloce.
Drizzle, un ORM poco familiare
L’ORM che ho scelto è stato Drizzle in quanto si integra bene con Bun nonostante sia ancora un po’ giovane ed è stato a tratti duro da assimilare dopo 3 anni di Entity Framework. Dopo averci sbattuto la testa un po’ sono riuscito ad abituarmi a come funziona Drizzle, entrambe le API che offre per scrivere le query sono state piacevoli da usare una volta imparate anche se per alcune query rimane abbastanza macchinoso, Entity Framework rimane nettamente superiore