Una webapp per il servizio di e-receuitment: progettazione e sviluppo con database nosql e node.js
Upcoming SlideShare
Loading in...5
×
 

Una webapp per il servizio di e-receuitment: progettazione e sviluppo con database nosql e node.js

on

  • 1,012 views

 

Statistics

Views

Total Views
1,012
Views on SlideShare
781
Embed Views
231

Actions

Likes
0
Downloads
9
Comments
0

3 Embeds 231

http://localhost 115
http://flaviobonta.eu01.aws.af.cm 115
http://172.20.10.3 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Una webapp per il servizio di e-receuitment: progettazione e sviluppo con database nosql e node.js Una webapp per il servizio di e-receuitment: progettazione e sviluppo con database nosql e node.js Document Transcript

  •   UNIVERSITÀ  DEGLI  STUDI  DELL’AQUILA   Facoltà  di  Scienze  MM.FF.NN   TESI  DI  LAUREA   “UNA  WEBAPP  PER  IL  SERVIZIO  DI     E-­‐‑RECRUITMENT:  PROGETTAZIONE  E  SVILUPPO   CON  DATABASE  NOSQL  E  NODE.JS”     Corso  di  Laurea  di  I  Livello  in  Informatica     Candidato     Relatore   FLAVIO  BONTA’     Dott.  Ivano  Malavolta         Anno  Accademico  2011/2012    
  • Tesi di Laurea – Anno Accademico 2011-2012Indice  Generale  INTRODUZIONE  .........................................................................................................  3  ANALISI  STRATEGICA  ..............................................................................................  3   PANORAMICA  DEL  PRODOTTO  ..........................................................................................  3   ANALISI  DELLA  CONCORRENZA   ........................................................................................  4   Erecruitment  Software  ....................................................................................................  4   HR-­‐Manager  ....................................................................................................................  4   Taleo  ................................................................................................................................  5   Jobvite  .............................................................................................................................  6   RICERCA  SUGLI  UTENTI  ......................................................................................................  7   PERSONA  .............................................................................................................................  9  INFORMAZIONI  DI  CONTESTO  ............................................................................  11   FUNZIONALITÀ  .................................................................................................................  11   REQUISITI  ..........................................................................................................................  12   Requisiti  Funzionali  ........................................................................................................  12   Requisiti  non  Funzionali  .................................................................................................  14   CONTENUTI   .......................................................................................................................  16   SCENARI  ............................................................................................................................  17   Topofone  S.p.A.  .............................................................................................................  17   Arimani  ..........................................................................................................................  18   Pranzo  di  Natale  ............................................................................................................  18  STRUTTURA  DELL’APPLICAZIONE  ......................................................................  19   MAPPA  ..............................................................................................................................  19   VOCABOLARIO  ..................................................................................................................  21  BOZZA  STRUTTURALE  ............................................................................................  23  INTERFACCIA  UTENTE  ...........................................................................................  27  ARCHITETTURA  SOFTWARE  .................................................................................  30  SORGENTI  DEI  DATI  ...............................................................................................  32  TECNOLOGIE  USATE  ...............................................................................................  34  RIFLESSIONI  ..............................................................................................................  36   SOLUZIONI  SMART   ............................................................................................................  36   DIFFICOLTÀ  INCONTRATE  ................................................................................................  36   Basse  .............................................................................................................................  36   Medie  ............................................................................................................................  36   Alte  ................................................................................................................................  36  CONCLUSIONI   ..........................................................................................................  37  BIBLIOGRAFIA  ..........................................................................................................  38   2
  • Tesi di Laurea – Anno Accademico 2011-2012Introduzione  Progettazione   e   sviluppo  in   modalità   AGILE  di   un’applicazione   web   per   la  gestione  e  la  ricerca  di  profili  professionali  (curriculum).    Il   progetto   e   stato   svolto   mediante   lʹutilizzo   di   tecnologie   client/server  javascript  (node.js),  database  NoSql  (MongoDB)  finalizzate  alla  realizzazione  di   un   backend   REST   based   e   di   un   rich   client   in   HTML5   compatibile   con  browser  desktop  e  mobile.Analisi  Strategica  Panoramica  del  Prodotto    NetCasting   è   una   webapp   che   semplifica   sensibilmente   la   selezione   di  candidati,  finalizzati  all’assunzione  temporanea  e/o  permanente.   Un’azienda   in   cerca   di   personale,   può   selezionare   il   suo   candidato  attraverso   molteplici   informazioni.   Scelti   i   parametri   di   ricerca,   saranno  elencati  i  candidati  aventi  tali  requisiti  che  possono  essere  riordinati  secondo  un   ordine   desiderato:   alfabetico,   in   base   al   suo   feedback   medio   di  gradimento   ricevuto   in   precedenti   lavori,   in   base   alla   sua   età,   in   base   alla  distanza   che   intercorre   tra   il   luogo   di   lavoro   e   la   residenza   del   candidato.  Scelti   i   candidati,   l’azienda   può   inviargli   una   notifica.   Raggiunto   il   numero  necessario   di   candidati   che   hanno   confermato   la   loro   disponibilità,   la  selezione  sarà  chiusa.   Un   utente   privato   che   s’iscrive   ha   molte   probabilità   di   trovare   un  lavoro   grazie   a   questo   canale   di   comunicazione   diretto   azienda-­‐‑lavoratore.  Una   volta   effettuato   il   login,   l’utente   visualizza   immediatamente   la   sua  panoramica  del  profilo,  dove  sono  in  risalto  i  lavori  che  ha  in  programma  o  per   cui   deve   ancora   confermare   la   propria   presenza.   Quando   un   utente   3
  • Tesi di Laurea – Anno Accademico 2011-2012riceve   una   richiesta   di   un   lavoro,   può   confermare   o   declinare   l’invito.   Al  termine   di   una   prestazione   lavorativa,   l’utente   riceve   un   feedback   di  valutazione  che  farà  media  con  i  precedenti  ricevuti.  Analisi  della  Concorrenza    Effettuando   una   ricerca   sul   e-­‐‑recruitment     su   google   vengono   fuori   molti  risultati.  In  campo  internazionale  i  prodotti  meglio  piazzati  nei  risultati  sono  i  seguenti:     Erecruitment  Software     E’   un   applicazione   web   online   che   integra   un   centro   di   carriera  interattiva   al   sito   dell’azienda.   E’   costruito   su   una   piattaforma  PHP/MYSQL/Linux  che  consente  facilmente  di  distribuire  un  sito  di  carriera  completamente  funzionale  e  personalizzato  in  base  ai  requisiti  dell’utente.    Consente  di  automatizzare  lʹintero  processo  di  assunzione,  dalla  creazione  di  offerte   di   lavoro   al   pubblicare   i   requisiti   di   lavoro,   attirando   i   candidati,  qualificando  chi  è  in  cerca  di  lavoro;  riprendere  lʹelaborazione  ,  e  la  selezione  finale.  Il  pacchetto  completo  costa  US  $  2500  e  fornisce  i  seguenti  servizi:   ●    Cinque  campioni  di  home  page  personalizzata     ●    Integrazione  con  sito  web  esistente     ●    Enterprise  ATS  software     ●    Manutenzione  annuale     ●    Setup  e  installazione     ●    Hosting  annuale     HR-­‐‑Manager     HR  manager  Talent  Solutions  è  un’azienda  norvegese  la  quale  offre  dei  servizi  di  recruiting  sotto  forma  di  SaaS  (Software  as  a  Service).   4
  • Tesi di Laurea – Anno Accademico 2011-2012Ovviamente  trattandosi  di  un  SaaS  il  cliente  interessato  ad  usufruire  di  tale  servizio  dovrà  pagare  una  quota  mensile  (non  specificata  sul  sito).  Il   sito   non   entra   nei   dettagli   del   software,   si   limita   solo   a   mostrare   alcuni  screenshot.  L’unica  informazione  a  riguardo  è  che  il  software  è  “fully  hosted”  senza  che  l’azienda  utilizzatrice  del  servizio  debba  scaricare  nulla  sui  propri  computer.  Tra   le   aziende   utilizzatrici   di   tale   servizio   ve   ne   sono   alcuni   di   molto  iportanti  quali  Mercedes  Benz,  Bayer  e  BNP  Paribas.    A   differenza   dei   precedenti   servizi   questo   sito   è   stato   notato   perchè  usufruiva  degli  annunci  sponsorizzati  di  Google  (parola  di  ricerca  utilizzata  “e  recruitment”  oppure  “e-­‐‑recruitment”).     Taleo   Taleo   ha   costruito   un   completo   cloud   verticale   di   Talent  Management,   ottimizzato   per   le   esigenze   di   gestione   dei   talenti.   Questo  include   unʹinfrastruttura   scalabile,   elastica,   e   sicura,   una   piattaforma  software  che  è  aperta,  mobile  e  flessibile,  e  una  suite  completa  di  applicazioni  di  gestione  dei  talenti.  E  tutto  questo  è  supportato  da  un  grande  ecosistema  di  clienti,  partner  e  candidati.    Le   prime   applicazioni   di   gestione   dei   talenti   di   Taleo   hanno   sostenuto   gli  sforzi   di   reclutamento   di   alcune   delle   aziende   più   grandi   ed   esigenti   del  mondo.  Questo  obiettivo  iniziale  ha  aiutato  Taleo  a  costruire  la  più  completa  piattaforma   di   cloud   verticale   del   settore.   Dal   primo   giorno,   hanno  progettato   l’architettura   per   gestire   grandi   volumi   di   utenti   e   transazioni,  sostenendo  i  più  alti  livelli  di  sicurezza.  Come  un  sistema  pubblico  di  facciata  usato  da  milioni  di  candidati  al  giorno,  Taleo  ha  dovuto  offrire  facilità  dʹuso,  scalabilità  e  uptime  dallʹinizio.  Infine,  con  un  diverso  ecosistema  di  servizi  di  terzi   come   background   checks,   le   valutazioni   di   screening   e   di   credito  dʹimposta,  la  piattaforma  software  di  Taleo  richiede  un  integrazione  aperta  e   5
  • Tesi di Laurea – Anno Accademico 2011-2012flessibile.  Tra  i  clienti  di  maggior  prestigio  della  piattaforma  Taleo  abbiamo:   ● H3G   ● Banque  National  du  Canada   ● BIC   ● La  città  di  Chicago   ● HP   ● IBM   ● Rolls-­‐‑Royce   ● Tetra  Pak   ● United  Airlines   ● Whirlpool  e  molti  altri  per  un  totale  di  87  clienti  di  alto  livello.  Il   prodotto   si   divide   in   base   alle   esigenze   delle   aziende   (numero   di  dipendenti).  Si  hanno  quindi  3  tipologie  differenti:   ● Business  edition  <  5.000  impiegati   ● Enterprise  5.000  -­‐‑  13.000  impiegati   ● Large  Enterprise  >  13.000  impiegati  Il  modello  di  business  che  propone  la  Taleo  è  quello  del  SaaS  (Software  as  a  Service).  Di  conseguenza  il  guadagno  dell’azienda  avviene  facendo  pagare  ai  clienti  una  quota  d’iscrizione  ad  un  servizio.     Jobvite     Jobvite   è   un   servizio   di   recruiting   fondato   sull’utilizzo   dei   social  network.  La  filosofia  di  fondo  alla  base  del  progetto  è  quella  del  “passaparola  digitale”.  Jobvite   offre   la   possibilità   alle   aziende   di   mandare   inviti   di   lavoro   tramite   i  vari   social   network,   facebook,   twitter,   linkedin   etc.   dando   poi   la   possibilità  agli   utenti   o   di   accettare   il   lavoro,   oppure   di   inoltrarlo   ai   propri   contatti,   6
  • Tesi di Laurea – Anno Accademico 2011-2012magari  un  amico  esperto  proprio  nel  ruolo  richiesto  dall’azienda  ed  in  cerca  di  lavoro.  Jobvite   offre   anche   un   sistema   per   la   ricerca   del   candidato   ideale   mediante  l’analisi   dei   profili   dei   social   network.   Fornisce   anche   un   servizio   di  creazione   di   un   app   personalizzata   sulla   pagina   facebook   dalla   quale   è  possibile  vedere  le  offerte  di  lavoro  dell’azienda,  rispondere  ad  essa  oppure  inviarla   a   qualcuno   che   noi   sappiamo   possa   essere   interessato.   Permette  inoltre  di  poter  creare  un  career  site  della  compagnia.  Oltre   all’aspetto   social   Jobvite   fornisce   anche   un   software   di   tracking  management,   un   sistema   in   grado   di   fornire   statistiche   in   tempo   reale,   un  integrazione   con   il   calendario   di   outlook,   un   sistema   per   gestire   in   maniera  autonoma  l’invio  di  email  e  l’archiviazione  in  base  al  candidato  scelto.    N.B.  I  loghi  delle  applicazioni  concorrenti  sono  stati  da  me  rielaborati  per  avere  una  presentazione  omogenea.  Ricerca  sugli  Utenti    ID   NEED  N1   Eseguire  ricerche  sui  profili.  N2   Ricevere  notifiche.  N3   Aggiornare/visualizzare  il  proprio  profilo.  N4   Valutare  una  prestazione  lavorativa.  N5   Esportare  curriculum/profilo  in  PDF.  N6   Esportare  una  ricerca  effettuata  in  PDF,  Excel.  N7   Modificare/archiviare/clonare  un’offerta  di  lavoro.  N8   Confermare/rifiutare  una  proposta  di  lavoro.  N9   Bloccare  un  utente.  N10   Creare  un  nuovo  profilo  “azienda”.   7
  • Tesi di Laurea – Anno Accademico 2011-2012N11   Aggiungere  nuovi  campi  nel  profilo  utente.  N12   Contattare  un  candidato.  N13   Creare  una  nuova  offerta  di  lavoro.           SUPERADMIN   AZIENDA   PRIVATO  Età   -­‐‑   -­‐‑   >18   Disoccupato,   Qualsiasi  tipo  di   studente  in  cerca  Lavoro   -­‐‑   azienda  in  cerca  di   di  part-­‐‑time,   personale   lavoro  extra   Computer   Computer   Computer  Tecnologia   fisso/portatile   fisso/portatile   fisso/portatile,   aziendale   aziendale   smartphone   Licenza  media,   licenza  media  Educazione   -­‐‑   -­‐‑   superiore,  laurea,   Ph.D,  master   N10   N1   N2   N11   N2   N3   N4   N5   N5   N8  Need   N6   N7   N9   N12   N13                   8
  • Tesi di Laurea – Anno Accademico 2011-2012Persona             9
  • Tesi di Laurea – Anno Accademico 2011-2012                                         10
  • Tesi di Laurea – Anno Accademico 2011-2012Informazioni  di  Contesto  Funzionalità    ID   Funzionalità   Descrizione   Maps  to  F1   Ricerca  candidati   Una  lista  di  candidati  è  visualizzata.   N1   È  visualizzato  in  dettaglio  il  profilo  F2   Visualizza  il  profilo   N1,  N3   di  un  candidato.   Visualizza  il   È  visualizzato  il  curriculum  di  un  F3   N5,  N6   curriculum   candidato.   Una  lista  di  lavori  è  visualizzata,   Visualizza  i  lavori  in  F4   con  possibilità  di  entrare  in   N3   programma   dettaglio.   Sono  visualizzate  tutte  le  offerte  di   Visualizza  offerte  in   lavoro  che  un’azienda  ha  creato  con  F5   N7   precedenza  create   possibilità  di  modificarle,  clonarle  o   archiviarle.   Una  notifica  è  visualizzata  in  caso  di   Ricevi   una  richiesta  di  lavoro  o  di  altra   N2,  N4,  F6   comunicazioni   comunicazione  da  parte   N11   dell’azienda  o  del  sistema.   Una  notifica  sarà  inviata  al  F7   Invia  comunicazioni   N11,  N12   candidato  scelto  o  a  tutti  gli  iscritti   Rispondi  a  una   Una  notifica  sarà  inviata  all’azienda  F8   N8   richiesta  di  lavoro   con  risposta  affermativa  o  negativa   È  visualizzata  una  semplice   Valuta  una   valutazione  a  cinque  stelle  per  F9   prestazione   N4   valutare  un  lavoro  svolto  da  un   lavorativa   candidato   È  visualizzata  una  scheda  con  tutti  i   Crea  un  nuovo  F10   dettagli  per  la  creazione  di  un   N7,  N13   lavoro   nuovo  lavoro               11
  • Tesi di Laurea – Anno Accademico 2011-2012Requisiti    Requisiti  Funzionali  R1.  Registrazione.  Un  utente  deve  avere  la  possibilità  di  registrarsi  al  sistema  per  avere  accesso  a  tutte  le  funzionalità  del  sito.   § L’utente   si   registra   tramite   il   sign-­‐‑in   dei   social   più   conosciuti   oppure   riempie  i  campi  del  modulo  della  pagina  registrazione  con  i  valori  di:   nome,  cognome,  email,  password,  sesso,  data  di  nascita.   § Un   amministratore   del   sistema   riceve   richieste   d’iscrizione   da   parte   dell’azienda  ed  ha  il  compito  di  assegnargli  un  account  con  i  privilegi   dedicati.    R2.  Login  e  Password.  Un  utente  ha  la  possibilità  di  fare  login  nel  sito  se  si  è  già   registrato   con   metodo   classico   (R1)   e   successivamente   se   andata   a   buon  fine   può   navigare   all’interno   di   tutto   il   sito.   E’   altresì   possibile   cambiare   la  password   in   caso   di   smarrimento   ottenendone   una   nuova   automaticamente  tramite  email.    R3.   Gestione   candidati.   L’applicazione   permette   all’azienda   di   cercare   un  candidato  che  abbia  degli  specifici  requisiti.   § Lʹapplicazione  mostra  una  lista  di  Candidati  all’azienda  (F1).       § L’azienda  può  selezionare  un  candidato  dalla  lista  di  cui  sopra  (F2).   § L’applicazione  visualizza  i  dettagli  del  candidato  scelto  (F2).   § L’applicazione  visualizza  il  curriculum  del  candidato  (F3).    R4.   Gestione   profilo.   L’applicazione   permette   all’utente   di   visualizzare   il  proprio  profilo.   § L’applicazione  mostra  i  dettagli  del  proprio  profilo  (F2).   § L’utente  può  apportare  modifiche  al  proprio  profilo  (F2)  modificando   i  form  che  sono  mostrati  dall’applicazione.   12
  • Tesi di Laurea – Anno Accademico 2011-2012 § L’utente  può  visualizzare/salvare  il  proprio  curriculum  (F3).    R5.  Gestione  lavori.  L’applicazione  permette  all’azienda  di  gestire  le  proprie  offerte  di  lavoro.   § L’applicazione  visualizza  la  lista  di  lavori  che  l’azienda  ha  creato  (F4).   § L’azienda   ha   la   possibilità   di   modificare   i   dettagli   di   un   lavoro   non   ancora  iniziato.   § L’applicazione  visualizza  una  lista  di  lavori  archiviati  e  ne  permette  la   clonazione   e   la   successiva   modifica   (F5)   modificando   i   dati   che   saranno  visualizzati  all’interno  di  un  form.   § L’applicazione  visualizza  un  form  per  la  creazione  di  un  nuovo  lavoro   (F10).    R6.   Informazioni   lavori.   L’utente   può   visualizzare   i   lavori   per   cui   è   stato  selezionato  e  per  il  quale  ha  già  dato  conferma.   § L’applicazione  mostra  all’utente  la  lista  di  lavori  (F4)  che  l’utente  può   selezionare.   § L’applicazione   mostra   in   dettaglio   (F4)   una   richiesta   di   lavoro   che   l’utente  ha  selezionato.   § L’utente   può   decidere   se   accettare   o   rifiutare   una   proposta   di   lavoro   (F8),  o  annullarne  uno  in  precedenza  accettato  (F8).    R7.  Comunicazioni.  L’applicazione  visualizza  una  notifica  per  segnalare  un  evento  all’utente.   § Una   notifica,   inviata   dall’azienda   (F7),   è   visualizzata   dal   candidato   (F6)  nel  caso  in  cui  quest’ultimo  è  stato  selezionato  per  un  lavoro.   § L’applicazione   invia   una   notifica   (F7)   generata   automaticamente   dal   sistema  nel  caso  siano  stati  aggiunti  dei  nuovi  campi  nel  profilo.   § L’applicazione   invia   una   notifica   all’azienda   (F6)   quando   un   13
  • Tesi di Laurea – Anno Accademico 2011-2012 candidato   risponde   sia   positivamente   sia   negativamente   a   un’offerta   di  lavoro  (F8).  R8.   Valutazione.   L’azienda   al   termine   della   prestazione   lavorativa   può  valutare  il  lavoro  dal  candidato.   § L’applicazione  visualizza  le  classiche  cinque  stelle  (F9)  per  permettere   all’azienda  la  valutazione  della  prestazione  offerta  dal  candidato.   § L’utente   visualizza   la   media   voto   delle   sue   valutazioni   nella   pagina   principale  del  suo  profilo  (F2).    Requisiti  non  Funzionali  RN1.  Usability.   § Lʹapplicazione  deve  essere  usabile  per  ogni  tipologia  di  attore  definito.     § Lʹinterfaccia  utente  deve  essere  intuitiva  e  user-­‐‑friendly  in  stile  social.     § L’applicazione  deve  essere  sufficientemente  veloce  e  leggera  per  ogni   tipo  di  dispositivo.     § L’interfaccia  deve  avere  colori  non  aggressivi  e  ben  bilanciati  tra  loro.        RN2.  Performance.     § La   webapp   deve   essere   veloce   e   scaricare   meno   dati   possibili   da   internet  facilitando  il  caching  dei  dati  sul  dispositivo.     § Il  database  NoSql  deve  essere  in  grado  di  sopportare  la  mole  dei  dati   passati   e   ricevuti   da   ogni   dispositivo   mobile   e   desktop   ed   eseguire   query  in  un  tempo  impercettibile  per  l’utente.        RN3.  Data  requirements.     § Il   database   deve   essere   NoSql   in   modo   tale   da   non   utilizzare   più   spazio   del   necessario,   e   ridurre   sensibilmente   i   tempi   di   accesso   non   dovendo  effettuare  innumerevoli  JOIN.     § La  webapp  deve  richiedere  le  informazioni  tramite  chiamate  API  Rest.   14
  • Tesi di Laurea – Anno Accademico 2011-2012  RN4.  Security.     § Tutti   i   campi   d’inserimento   dati   devono   gestire   l’input   in   modo   da   prevenire   eventuali   attacchi   di   SQL   injection   nei   confronti   del   database.     § La  connessione  verso  il  database  deve  essere  sicura  e  criptata.     § Le   password   non   devono   essere   memorizzate   in   chiaro   sul   database,   ma   deve   essere   usato    un   meccanismo   di   hash   in   modo   che   non   sia   possibile  in  alcun  modo  recuperarle.     § Il   sistema   di   registrazione/login   deve   prevedere   un   sistema   per   circoscrivere  il  fenomeno  di  troll    e  bot  automatici.     § La  webapp  deve  evitare  attacchi  di  tipo  XSS  (cross  site  scripting).      RN5.  Privacy.   § Ogni   utente   deve   poter   scegliere   per   quali   lavori   può   essere   selezionato  e  quindi  visibile  da  un’azienda.     § Un  utente  completando  il  suo  profilo,  regola  automaticamente  la  sua   privacy.   o Se   una   ditta   cerca   personale   per   un   lavoro   all’estero   e   un   candidato   nel   suo   profilo   ha   scelto   di   lavorare   solo   in   Italia,   nella  lista  di  candidati  che  saranno  visualizzati  all’azienda  tale   utente  non  apparirà.   o Un   utente   che   lascia   vuoti   tutti   i   campi   non   sarà   mai   visibile   nelle  ricerche.   RN6.  Development  Process.     § I   contenuti   della   webapp   saranno   sviluppati   in   HTML5   con   l’utilizzo  del  template  engine  JADE.   § La   presentazione   sarà   realizzata   attraverso   fogli   di   stile   CSS3   servendosi   principamente   del   framework   di   rapid   prototype   15
  • Tesi di Laurea – Anno Accademico 2011-2012 FOUNDATION.   § Le   funzionalità   dell’applicazione   saranno   realizzate   in   JavaScript   con  l’ausilio  del  framework  per  nodejs  EXPRESS  e  jQuery.   § Come   wrapper   nativo   per   l’applicazione   verrà   utilizzato   il   framework    open  source  PhoneGap.        Contenuti    NetCasting  ha  una  serie  di  contenuti  informativi  necessari  al  raggiungimento  degli   obiettivi   per   la   quale   è   stata   creata.   Le   categorie   di   contenuti   vanno  dalle   più   leggere   informazioni   in   formato   testuale,   a   contenuti   leggermente  più  impegnativi  quali  sono  la  creazione  di  curriculum  in  formato  PDF.    La   raffigurazione   di   tutto   il   layout   si   adatta   a   ogni   tipologia   di   dispositivo,  che   sia   un   desktop   con   risoluzione   1920   x   1200   pixel   fino   ad   arrivare   al  dispositivo  mobile  con  risoluzione  320  x  480  pixel.    Essendo   NetCasting   un’applicazione   di   comunicazione   tra   due   utenze,   la  maggior  parte  dei  contenuti  è  in  formato  testuale.  Le  pagine  hanno  tutte  un  layout   simile   con   un   menu   laterale   a   sinistra   per   la   versione   desktop   e   a  scomparsa   in   quella   mobile,   e   un   corpo   centrale,   dove   saranno   visualizzate  tutte   le   informazioni   che   l’utente   richiede.   Si   parte   dalla   panoramica   del  proprio   profilo,   dove   sono   visualizzate   le   proprie   informazioni   base   e   gli  eventuali   lavori   in   programma   per   poi   proseguire   con   i   dettagli   di   ogni  singola   proposta   di   lavoro   tuta   in   formato   testuale.   La   pagina   del   profilo  personale   è   formata   da   campi   testuali   che,   al   click   dell’utente,   diventano  campi  form  dove  modificare  le  proprie  informazioni.   16
  • Tesi di Laurea – Anno Accademico 2011-2012  Per   quanto   riguarda   la   manutenzione   dei   contenuti   informativi,   sono   le   tre  tipologie   di   utenti   che   hanno   il   compito   di   arricchire   il   contenuto  informativo:   § Il  superadmin  ha  il  compito  di  ricevere  richieste  d’iscrizione  da  parte   di  nuove  aziende  e  procede  all’inserimento  di  eventuali  nuovi  campi   nel  form.   § L’azienda   è   la   fonte   principale   di   arricchimento   d’informazioni   all’interno   del   sito,   ha   il   compito   di   creare   nuove   offerte   di   lavoro,   inviarle  ai  candidati  scelti  e  valutare  questi  ultimi.   § Il  candidato  procede  solo  ed  esclusivamente  all’inserimento  dei  propri   dati  personali  visibili  dall’azienda  che  lo  cerca.  Scenari    Topofone  S.p.A.  La   Topofone   S.p.A.,   nota   compagnia   telefonica,   deve   promuovere   in   tutta  Italia   la   sua   nuova   promozione   “NGPensa”   che   permette   all’utente   di  chiamare   illimitatamente   tutti   a   un   prezzo   eccezionale.   La   Topofone   ha  deciso   di   compiere   una   politica   pubblicitaria   molto   aggressiva,   oltre   alle  solite  pubblicità  televisive  ha  deciso  di  fare  un  contatto  diretto  con  il  cliente,  il  piano  è  di  mandare  una  promoter  in  ogni  centro  commerciale  d’Italia.  Nel  magazzino   centrale,   la   Topofone   dispone   di   1000   divise   da   donna   (500   di  taglia   36   e   500   di   taglia   38),   1000   paia   di   scarpe   (500   scarpe   di   numero   36   e  500   di   numero   38).   Effettuare   una   ricerca   di   promoter   aventi   queste  caratteristiche   sarebbe   una   missione   a   dir   poco   ardua   se   non   ci   fosse   stato  NetCasting   a   risolvere   il   tutto.   In   pochi   semplici   passi   l’incaricato   della  Topofone   esegue   una   ricerca   inserendo   le   caratteristiche   che   una   candidata  deve  avere  e  invia  una  notifica  a  tutti  i  selezionati.         17
  • Tesi di Laurea – Anno Accademico 2011-2012Arimani  Arimani,  stilista  di  fama  provinciale,  è  riuscito  nel  sogno  di  mostrare  le  sue  creazioni  nella  settimana  della  moda  di  Milano.  Un’occasione  unica!  Per  fare  bella   figura,   Arimani   ha   deciso   di   cercare   modelle   tutte   alte   180   cm   e   per  mettere  in  risalto  i  colori  dei  suoi  abiti  le  vuole  tutte  bionde  con  occhi  azzurri.  Siccome   Arimani   è   controcorrente,   vuole   modelle   in   carne,   quindi   i   suoi  vestiti  saranno  di  taglia  42.  I  provini  si  svolgeranno  nella  sua  città,  L’aquila.  Si  mette  subito  alla  ricerca  di  trenta  candidate  da  ammettere  al  provino  per  poi   sceglierne   cinque.   Arimani   s’iscrive   subito   a   NetCasting   e   in   un   attimo  contatta  le  trenta  ragazze  da  provinare.    Pranzo  di  Natale  Sandro,   noto   ristoratore   di   Giulianova   (TE),   vuole   tenere   aperto   il   suo  ristorante   anche   per   il   pranzo   di   Natale.   Ha   dato   piena   facoltà   ai   suoi  camerieri  di  decidere  se  lavorare  o  rimanere  a  casa  con  i  parenti  per  il  pranzo  in   famiglia.   Su   otto   camerieri   solo   due   hanno   deciso   di   voler   restare   a   casa  per   il   giorno   di   Natale,   mentre   gli   altri   sei   hanno   deciso   di   lavorare   visto  anche   l’extra   di   150€   che   sarà   loro   dato.   Sandro   adesso   deve   rapidamente  rimpiazzare   i   due   camerieri   e   in   più   ne   vuole   altri   due   perché   prevede   il  pienone.  Ricorda  di  aver  utilizzato  NetCasting  anche  in  un’altra  occasione  e  immediatamente  effettua  il  login  e  si  mette  alla  ricerca  dei  quattro  camerieri  con  le  seguenti  caratteristiche:  diploma  di  scuola  alberghiero  e  collo  camicia  38  cm,  poiché  ha  comprato  camicie  create  appositamente  per  la  giornata.  In  un  click  ha  selezionato  i  quattro  camerieri  che  avevano  il  massimo  feedback  di  valutazione.         18
  • Tesi di Laurea – Anno Accademico 2011-2012Struttura  dell’Applicazione    In  questa  sezione  è  mostrata  la  mappa  concettuale  della  webapp.  La  sitemap  è   uno   strumento   di   rappresentazione   grafica   che   consente   di   identificare   i  rapporti,  le  relazioni,  le  dipendenze  e  le  appartenenze  di  diversi  elementi.  Le  mappe   concettuali   si   rivelano   molto   utili   non   solo   per   l’analisi   e   il   card-­‐‑sorting   dei   singoli   contenuti,   ma   anche   per   rappresentare   e   guidare  l’architettura  profonda  di  un  portale.    Mappa     19
  • Tesi di Laurea – Anno Accademico 2011-2012       20
  • Tesi di Laurea – Anno Accademico 2011-2012Vocabolario  Termini  vocabolario   Descrizione   Sezione  dove  l’utente  modifica  le  impostazioni  di  Account  setting   ricezione  notifica.   Pagina  dove  l’utente  può  modificare  i  propri  dati  Anagrafica   anagrafici.   Visualizza  tutti  i  lavori  che  la  ditta  ha  creato  con  Archivio   possibilità  di  clonarli  o  visualizzare  i  candidati   selezionati  per  quel  lavoro.   L’azienda  può  scegliere  se  cercare  un  candidato  in  Cerca  candidato   una  ricerca  precedentemente  salvata  o  effettuare   una  nuova  ricerca.   Viene  visualizzata  la  stessa  view  di  “Crea  lavoro”  Clona  lavoro   con  i  campi  già  riempiti,  con  possibilità  di   modificarli.  Crea  lavoro   Pagina  di  creazione  di  un  nuovo  lavoro.   21
  • Tesi di Laurea – Anno Accademico 2011-2012 Operazione  con  cui  un  candidato  visualizza  il   proprio  curriculum  o  un’azienda  visualizza  quello  Curriculum   di  un  candidato  selezionato  con  possibilità  di   scaricarlo.  Dettaglio  offerte   Visualizza  l’offerta  di  lavoro  in  dettaglio.  Esperienze  e   Pagina  dove  l’utente  può  modificare  le  proprie  disponibilità   esperienze  e  disponibilità.   Pagina  dove  l’azienda  può  modificare  la  propria  Modifica  info  azienda   ragione  sociale.   Viene  visualizzata  la  stessa  view  di  “Crea  lavoro”  Modifica  offerta   con  i  campi  già  riempiti,  con  possibilità  di   modificarli.   Stessa  view  di  “Scelta  caratteristiche  candidato”  Modifica  requisiti   con  i  campi  dei  requisiti,  che  un  candidato  deve  candidato   avere,  già  riempiti  e  la  possibilità  di  modificarli.   Pagina  dove  l’utente  o  l’azienda  visualizza  le  Notifiche   notifiche.   Lista  di  lavori  attivi  che  l’azienda  sceglie  di  clonare  Offerte  attive   o  modificare.   Lista  delle  offerte  di  lavoro  per  cui  un  candidato  è  Offerte  di  lavoro   stato  selezionato.   Pagina  di  accesso  con  cui  si  apre  la  webapp  per  Pagina  azienda   un’azienda.   Pagina  iniziale  dove  lʹutente  registrato  si  logga  al  Pagina  login   sistema.   Pagina  di  accesso  con  cui  si  apre  la  webapp  per  un  Pagina  personale   utente  privato.   Pagina  dove  l’utente  può  modificare  i  propri  dati  Personali   personali.   Pagina  con  cui  l’azienda  chiede  all’admin  la  Registra  azienda   registrazione.  Registrazione   Pagina  di  registrazione  dove  l’utente  si  registra.  Ricerche  salvate   Lista  delle  ricerche  salvate  in  precedenza.  Scelta  caratteristiche   L’azienda  visualizza  la  pagina  con  la  scelta  dei  candidato   requisiti  che  un  candidato  deve  avere.   Lista  di  candidati  aventi  caratteristiche  che  Seleziona  candidato   l’azienda  ha  scelto  con  possibilità  di  ordinarli,   selezionarli,  contattarli  e  salvare  tale  ricerca.   Pagina  dove  sono  elencati  tutti  i  lavori  che  un  Storico   candidato  ha  portato  a  termine.   22
  • Tesi di Laurea – Anno Accademico 2011-2012Bozza  Strutturale  SK 0: Pagina Login       SK 1.1: Pagina Registrazione             SK 1.2: Registrazione Tablet         SK 1.3: Registrazione Smartphone  L’accesso  alla  Webapp  risulta  essere  molto  rapido,  il  login  avviene  tramite  i  social   sign-­‐‑in   o   tramite   l’inserimento   di   username   e   password.   La  registrazione,   anch’essa   molto   semplice,   chiede   all’utente   solo   le  informazioni   base.   La   versione   mobile   ha   esattamente   tutti   i   campi   della  versione  mobile,  progettata  per  essere  molto  leggera  e  minimale.     23
  • Tesi di Laurea – Anno Accademico 2011-2012 SK 2: Home Page Utente SK 2.1: Home Page Tablet                       SK 2.2: Home Page Smartphone  La   pagina   personale   di   un   candidato   si   presenta   molto   in   stile   social,  progettata  per  essere  familiare  già  al  primo  utilizzo.  La  versione  desktop  e  la  versione   tablet   in   landascape,   presentano   un   menu   laterale   fisso,   un   header  dove  sono  messe  in  risalto  la  completezza  del  profilo  e  le  notifiche.  Il  corpo  centrale  contiene  le  informazioni  della  pagina  scelta.  La  versione  mobile  e  la  versione   tablet   in   portrait,   si   presentano   con   il   corpo   centrale   a   pieno  schermo,  l’header  che  mette  in  risalto  le  notifiche  e  il  menu  nascosto.     24
  • Tesi di Laurea – Anno Accademico 2011-2012 SK 3: Modifica Anagrafica   SK 3.1: Modifica Anagrafica Mobile SK 3.2: Anagrafica Smartphone  La  modifica  dei  dati,  sia  per  la  versione  desktop  sia  in  quella  mobile,  avviene  semplicemente   cliccando   sul   dato   da   modificare.   Nella   versione   mobile   il  menu  compare  e  scompare  cliccando  sull’apposito  pulsante.    Tutte   le   pagine   si   presentano   con   il   medesimo   menu   e   header,   solo   il  contenuto  informativo  del  corpo  centrale  differisce  per  ogni  pagina.   25
  • Tesi di Laurea – Anno Accademico 2011-2012SK 4: Dettaglio Offerta Admin SK 4.1: Dettaglio Offerta Admin Mobile               SK 4.2: Dettaglio Offerta Admin Smartphone  Il   back-­‐‑end   si   presenta   nella   medesima   versione   del   front-­‐‑end   sia   nella  versione  desktop  sia  in  quella  mobile.               26
  • Tesi di Laurea – Anno Accademico 2011-2012Interfaccia  Utente    L’interfaccia  grafica  di  NetCasting  è  stata  disegnata  per  essere  semplice  e  allo  stesso  tempo  piacevole  da  utilizzare.  Lo  stile  social  fa  si  che  l’utente  anche  al  primo  accesso  avrà  subito  confidenza  con  il  sistema.    L’intuitività   è   garantita   anche   grazie   all’utilizzo   delle   gesture   più   abituali  come  il  tap,  lo  swipe  e  il  pinch  to  zoom.  Il  colore  predominante  è  il  bianco,  che  conferisce  all’utente  un  tono  pulito,  un  header   nero,   che   con   il   suo   alto   contrasto   coglie   l’attenzione   dell’utente,  infatti  lì  si  possono  trovare  le  notifiche  e  il  grado  di  completezza  del  proprio  profilo.  Il  corpo  centrale  alterna  profili  di  grigio  e  blu.  Per  questioni  di  spazio  di   seguito   vengono   mostrati   solo   alcuni   screenshot   della   webapp   sia   in  versione  desktop  che  in  quella  mobile.    Il  mockup  sovrastante  corrisponde  al  Lo-­‐‑Fi  Wireframe  descritto  nella  sezione  Skeleton:   § Home  page  utente  (SK  1)   27
  • Tesi di Laurea – Anno Accademico 2011-2012              Partendo  da  sinistra  i  mockup  corrispondono  ai  seguenti  Lo-­‐‑Fi  Wireframe:   § Login  (versione  mobile  di  SK  0)     § Home  page  utente  mobile  (SK  2.2  con  menu  a  discesa  aperto)   § Home   page   utente   mobile   (SK   2.2   con   menu   laterale   a   scomparsa   aperto)   § Modifica  anagrafica  mobile  (SK  3.2)      Il  mockup  in  alto  si  riferisce  al  dettaglio  offerta  descritto  nello  skeleton  (SK  4)     28
  • Tesi di Laurea – Anno Accademico 2011-2012                      I   mockup   precedenti,   dall’alto   verso   il   basso,   non   sono   descritti   nei   Lo-­‐‑Fi  wireframe,  mostrano:   § Ricerca  avanzata,  da  parte  dell’admin  dell’azienda   § Ricerca  avanzata  mobile   § Dettaglio  di  un  utente  ricercato       29
  • Tesi di Laurea – Anno Accademico 2011-2012Architettura  Software             30
  • Tesi di Laurea – Anno Accademico 2011-2012La  webapp  sarà  suddivisa  in  file  js,  che  gestiranno  la  logica,  e  in  file  jade,  che  saranno   i   file   di   template.   Nel   bootstrap   saranno   caricate   tutte   le  configurazioni   e   le   dipendenze   dei   moduli   node.js.   Sarà   compito  dell’access.js   stabilire   quale   view   visualizzare   a   seconda   dei   permessi   che  l’utente   possiede.   Una   volta   caricate   le   view,   il   controllo   passa   in   mano   ad  angular;   website.js   avrà   il   compito   di   caricare   un   partial   specifico   per   ogni  rotta   che   l’utente   percorre   mentre   gestire   la   grafica   sarà   compito  dall’application   style.   Ogni   path   specifico   sarà   gestito   dal   controller   di  angular  che  effettuerà  chiamate  REST  di  tipo  GET,  POST,  PUT  e  DELETE.   31
  • Tesi di Laurea – Anno Accademico 2011-2012Sorgenti  dei  Dati        La   struttura   dellʹapplicazione   è   volutamente   molto   semplice   e   si   appoggia  principalmente   su   di   un   database   documentale   MongoDB.   Il   database  gestisce  tutti  i  dati  relativi  agli  utenti  ed  ai  loro  profili  così  come  le  offerte  e  le  notifiche  ed  è  stato  strutturato  per  garantire  delle  ottime  performance  sia  in  termini  di  storage  che  in  termini  di  velocità  ricerca  su  di  un  numero  elevato  e  variabile   di   campi.   Il   fatto   che   MongoDB   sia   un   database   schemaless  consentirà   inoltre   di   aggiornare   i   campi   deputati   al   censimento   solo  attraverso   una   modifica   lato   Application,   senza   dover   provvedere   a  migrazioni   lunghe   e   spesso   complicate   (soprattutto   quando   il   numero   di  record  diventa  elevato).  Lʹutilizzo   di   un   database   non   relazionale   comporta   la   necessità   di  implementare  algoritmi  di  "ʺintegrità"ʺ  a  livello  application,  e  a  tal  fine  è  stato  utilizzato   lʹODM   (Object   Document   Mapper)   Mongoose,   che   funge   da   32
  • Tesi di Laurea – Anno Accademico 2011-2012interfaccia  con  il  database  attraverso  la  definizione  di  Schemi  Virtuali  e  offre  funzionalità  di  validazione.    Per  la  gestione  dei  dati  "ʺvolatili"ʺ,  principalmente  le  sessioni  utente,  si  è  deciso  di   utilizzare   un   database   Redis   (key-­‐‑value   store),   che   verrà   utilizzato  attraverso  le  interfacce  messe  a  disposizione  dal  framework  ExpressJS,  ed  in  particolare  il  modulo  Session.  Lato   Client,   dopo   le   analisi   dei   casi   dʹuso   più   rappresentativi,   si   è   deciso   di  sfruttare  le  potenzialità  di  Angular  js  nella  gestione  e  manipolazione  dei  dati  per  ridurre  ulteriormente  il  carico  a  db.  Attraverso  infatti  lʹutilizzo  di  "ʺfilters"ʺ  sarà  possibile  effettuare  operazioni  di  sorting  e  di  ricerca  sui  dati  ritornati  da  DB  dirattamente  da  interfaccia  client.       33
  • Tesi di Laurea – Anno Accademico 2011-2012Tecnologie  Usate    NodeJS:   È   un   framework   per   realizzare   applicazioni   Web   in   JavaScript,  permettendoci   di   utilizzare   questo   linguaggio,   che   tipicamente   viene  utilizzato  nel  lato  client,  anche  per  la  scrittura  di  applicazioni  “server-­‐‑side”.  La  piattaforma  è  basata  sul  JavaScript  Engine  V8,  che  è  il  runtime  di  Google  utilizzato  anche  da  Chrome.     La   caratteristica   principale   di   Node.js   risiede   nella   possibilità   che   offre   di   accedere   alle   risorse   del   sistema   operativo   in   modalità  event-­‐‑driven   (programmazione   ad   eventi),   si   lancia   una   azione   quando   accade   qualcosa.   Ogni  azione  quindi  risulta  asincrona  a  differenza   dei   pattern   di   programmazione   più   comuni   in   cui   un’azione  succede  ad  un’altra  solo  dopo  che  essa  è  stata  completata.  Ciò  dovrebbe  garantire  una  certa  efficienza  delle  applicazioni  grazie  ad  un  sistema  di  callback  gestito  a  basso  livello  dal  runtime  (Bottarini 2012).    ExpressJS:   È   un   framework   leggero   e   flessibile   per   applicativi   node.js,  fornisce   un   robusto   set   di   funzioni   per   la   creazione   di   applicazioni   web   a  singola  pagina,  multi-­‐‑pagina  e  ibridi.    jQuery:   È   una   libreria   JavaScript   veloce   e   concisa   che   semplifica   la  manipolazione  del  documento  HTML,  la  gestione  degli  eventi,  l’animazione  e  le  interazioni  Ajax  per  lo  sviluppo  web  rapido.      PhoneGap:  È  un  framework  che  permette  di  convertire  in  applicazioni  native  per  iOS,  Android,  Blackberry,  Windows  Phone,  Palm  WebOS  e  Symbian  da   34
  • Tesi di Laurea – Anno Accademico 2011-2012linguaggio  HTML,  CSS  e  JavaScript.    Foundation   Zurb:   È   un   framework   responsive   basato   su   HTML5   e   CSS3  pensato   per   lo   sviluppo   di   siti   e   applicazioni   Web.   Foundation   è   stato  concepito  con  un  approccio  ancora  più  orientato  ad  una  prospettiva  mobile-­‐‑first.   In   questo   modo,   Foundation   spinge   i   designer   a   concentrarsi   prima  sull’esperienza  mobile  e  successivamente  a  quella  desktop (Fogliata 2013).    AngularJS:  È   un   framework   JavaScript,   patrocinato   da   Google,   utile   a  semplificare   la   realizzazione   di   applicazioni   Web   single   page.   AngularJS   si  ispira   al  pattern  MVC,   come   altri   framework   analoghi   quali  Knockout  o  Ember.js.  Ma  rispetto  ai  diretti  concorrenti,  questo  framework  è  in  grado  di  ridurre   in   maniera   considerevole   il   codice   necessario   a   realizzare  applicazioni  HTML/JavaScript.  (Chiarelli 2012)    MongooseJS:  Questo  framework  offre  un’legante  modellazione  degli  oggetti  mongodb   per   node.js,   prende   come   primo   parametro   la   query   mongodb   e  come  secondo  parametro  una  funzione  di  callback  che  restituisce  un  array  di  oggetti  JSON  pronti  per  l’utilizzo.    PassportJS:   Passport   è   middleware   di   autenticazione   per  Node.js.  Estremamente   flessibile   e   modulare,   Passport   può   essere   utilizzato   in  qualsiasi   applicazione   web   basata   su   Express.js.  Ha   un   set   completo   di  strategie  di  supporto  per  lʹautenticazione  utilizzando  un  nome  utente  e  una  password,  Facebook,  Twitter  e  altro  ancora.   35
  • Tesi di Laurea – Anno Accademico 2011-2012Riflessioni  Soluzioni  Smart  Sicuramente   la   soluzione   che   ha   fatto   la   differenza   nello   sviluppo   di   questa  webapp  è  stata  l’utilizzo  di  un  database  noSql  che  ha  ridotto  sensibilmente  i  tempi   delle   query   effettuate.   Avendo   i   dati   dell’utente,   admin,   aziende   e  offerte   tutte   in   una   riga   e   scalabili   orizzontalmente,   abbiamo   evitato   di  effettuare   moltissimi   JOIN   per   tantissime   tabelle   con   l’utilizzo   di   database  tradizionali  con  un  costo  in  tempo  davvero  elevato.  Difficoltà  incontrate  Basse  Le   prime   difficoltà   incontrate   sono   state   quelle   di   capire   bene   cosa   il  committente  cercava  per  la  sua  webapp  e  quindi  come  strutturare  il  progetto,  a   quali   problematiche   si   andava   incontro   e   alle   tecnologie   da   usare   in  previsione   di   un   grande   bacino   d’utenza   e   quindi   ad   una   grande   mole   di  dati.    Medie  Discreta   difficoltà   è   stata   quella   del   passaggio   da   un   database   relazionale  classico   ad   un   noSql   di   tipo   “documents   databases”.   Alla   fine   è   risultato  molto  veloce,  intuitivo  e  semplice  da  utilizzare.    Alte  Le  maggiori  difficoltà  le  ho  incontrate  nell’utilizzo  di  nuove  tecnologie  quali  Node.js,  Express.js,  Angular.js  ed  una  metodologia  di  sviluppo  di  tipo  MVC  che  ha  permesso  una  separazione  strutturata  fra  la  logica  applicativa, a  carico  del  controller  e  del  model,  e  lʹinterfaccia  utente  a  carico  del  view.     36
  • Tesi di Laurea – Anno Accademico 2011-2012Conclusioni    Lo   sviluppo   di   quest’applicazione   web   ha   lo   scopo   di   facilitare   la   ricerca   di  candidati,   da   parte   di   un’azienda,   al   fine   di   instaurare   una   collaborazione  lavorativa   tra   le   due   parti.   Al   giorno   d’oggi,   viste   le   problematiche   che  affliggono   il   paese   ed   una   disoccupazione   sempre   crescente,   l’utilizzo   di  questa  webapp  può  aiutare  un  utente  a  cercare  un’occupazione  temporanea  o   permanente,   ma   pur   sempre   un’occupazione.   Un   piccolo   aiuto   per   uscire  da  questa  profonda  crisi.  Attraverso  questa  tesi  ho  appreso  nuove  metodologie  di  sviluppo  e  scoperto  tecnologie   che   facilitano   davvero   il   compito   dello   sviluppatore   il   quale   non  deve  creare  sempre  tutto  da  zero,  ma  ha  a  disposizione  framework  e  librerie  che  permettono  il  write-­‐‑less,  do  more.                             37
  • Tesi di Laurea – Anno Accademico 2011-2012Bibliografia    AngularJS  —  Superheroic  JavaScript  MVW  Framework,  http://angularjs.org/  Bottarini,   A.   (2012,   04   17).   Introduzione   a   Node.js.   Tratto   da   HTML.it:  http://www.html.it/pag/32814/introduzione-­‐‑a-­‐‑nodejs/  Chiarelli,   A.   (2012,   12   4).   AngularJS,   il   supereroe   dei   framework   JavaScript   …di  Google.  Tratto  da  HTML.it:  http://www.html.it/articoli/angularjs-­‐‑il-­‐‑supereroe-­‐‑dei-­‐‑framework-­‐‑javascript-­‐‑di-­‐‑google/  Chosen  -­‐‑   a  JavaScript  plugin  for  jQuery  and  Prototype  -­‐‑   makes  select  boxes  better,  http://harvesthq.github.com/chosen/  Express  -­‐‑  node.js  web  application  framework,  http://expressjs.com/  Fogliata,   T.   (2013,   03   1).   ZURB   Foundation   4:   nuova   versione   del   framework  responsive.   Tratto   da   Tiziano   Fogliata   -­‐‑   web   design,   web   marketing   e  ottimizzazione  dei  siti  web:  http://www.fogliata.net/zurb-­‐‑foundation/  Foundation:   The   most   advanced   responsive   front-­‐‑end   framework   by   ZURB,  http://foundation.zurb.com/  jQuery,  http://jquery.com/  Mongoose,  http://mongoosejs.com/  Passport  -­‐‑  Simple,  unobtrusive  authentication  for  Node.js,  http://passportjs.org/  PhoneGap,  http://phonegap.com/           38