Nerd Zone: flexycard

Se siete arrivati fino a qui, sarete sicuramente curiosi di sapere com'è stato progettato e realizzato flexycard, se invece non avete idea perchè vi ritroviate in quest'area, cliccate qui: Nerd Zone. Il progetto iniziale nasce come sviluppo software su commissione, succesivamente commutato in SAAS. L'idea di base era creare un portale di prevendita biglietti del treno "carte giornaliere" in maniera semplice e funzionale, e così abbiamo deciso di "concentrare" l'intero sistema in un'unica pagina (grazie ad Ajax, che iniziava a muovere i primi passi). Avendo implementato Ajax (JS), abbiamo dovuto "lottare" parecchio per far eseguire alla VM dei browser il codice: a "quei tempi" JS era considerato come veicolo per i malware (e in effetti lo era) e tutti impostavano l'opzione "non esiguire java script". Quando abbiamo messo in produzione il portale, la soddifazione maggiore è stata sentire un "aziano" operatore (restio alle nuove tecnologie) di quanto fosse facile da usare e come gli "semplificava la vita" nel gestire le vendite !!


 10 Curiosità 
1) La progettazione del portale è iniziata nel 2008, su distro RedHat.
2) La stesura della release definitiva è stata scritta intermante su server remoto usando pico in shell ssh, 80 righe per 25 colonne.
3) E' stato utilizzato come linguaggio di programmazione principale, Perl con il supporto di Ajax.
4) E' stato impiegato un solo programmatore, oggi lo chiameremmo full-stack developer...
5) Il sistema di recaptcha è stato scritto interamente da zero, senza utilizzare supporto esterni o open source.
6) La percentuale di downtime dal 2009 al 2019 è stato meno di 10 minuti in totale !!
7) Il calendario è stato creato da zero basandosi sul comando bash, cal.
8) Il modulo core di calcolo è stato riscritto da zero per 7 volte... non era mai abbastanza "veloce" e performante, insomma, non mi piaceva!
9) Il programmatore giura che non potrà più ascoltare "Rob Zombie -> Dragula", pezzo celebre che stranamente ha scandito ogni criticità del progetto con una precisione inquietante :( (playlist posseduta :(:()
10) Alcuni moduli sono stati "sviluppati su carta/tovagliolo" a pranzo

 Struttura (Attuale) 

    [Load Balancing front-end] -> [CLUSTER Linux Debian] -> *
            -> {apache on SSL layer} -> {mariaDB +innoDB}


Nel 2019, con infoMe, abbiamo portato flexycard su dispositivi mobile, iOs e Android; successivamente è stato avviato un restyling all'intero gestionale per renderlo HTML5 CSS3 compatibile, introducendo alcune automazioni in JQuery.
 Tech Zone 
Linguaggi di programmazione: Perl, JavaScript, Ajax, JQuery
Distro Linux (dal 2008): RedHat, Fedora, openSuse e la definitiva Debian!
Tool & Utils di sviluppo: Pico e PuTTY, non serviva altro (se non la conoscenza della materia :)


 CPan  (non è CPanel...)
I moduli perl usati : Time::Local; CGI; DBI; DateTime; Date::Calc; qw/Delta_Days/; Data::UUID; Cwd;

 App Apple Google  update 12.2.19
Allora, abbiamo un back-end di gestione, abbiamo un front-end per le prenotazione, abbiamo un modulo per l'App infoMe appositamente sviluppato per flexyCard... ma perchè allora non diamo la possibilità a tutti di scaricare un'App dedicata al servizio e prenotare da smartphone o tablet ????
detto, fatto: flexyCard-> spin-off del modulo infoMe; rivisto, potenziato e tradotto in 7 lingue !!
Disponibile x iOs e Android !!

Spero sia stato interessante e magari istruttivo (oppure illuminante :).
Diteci cosa ne pensate sul canale twitter, facebook o linkedin di digitalCode !!

Torna alla Nerd Zone