Riconoscimenti
Prefazione
Requisiti per chi legge il libro
- Definiamo l’ambiente di sviluppo.
Nuova applicazione Rails 5 utilizzando il workspace di Cloud9.
- Che cos’è Cloud9
- Nuovo workspace su Cloud9
- Installiamo Rails 5
- Creiamo l’applicazione
- Apriamo l’applicazione localmente
Git
- Implementiamo Git
- inizializziamo
- Verifichiamo configurazione globale
- Escludiamo files da git
- Versione iniziale v0.1.0
- Branch
- Creiamo un nuovo ramo e ci spostiamo su esso.
- Lavoriamo sul codice e aggiorniamo il ramo
- Chiudiamo il ramo
- Considerazioni finali del capitolo
PostgreSQL
- Apriamo il branch
- Implementiamo PostgreSQL
- Chiudiamo il branch
Settaggi Base
- Apriamo il branch
- Fissiamo la versione di Ruby sul Gemfile
- Chiudiamo il branch
Pagina di test
- Apriamo il branch
- No scaffold
- Instradiamo con routes
- Creiamo testpage views
- Chiudiamo il branch
Figaro
- Apriamo il branch
- Perché usare figaro?
- Installiamo figaro
- Cominciamo a mettere al sicuro le password
- Giochiamo con le variabili d’ambiente (ENV)
- Chiudiamo il branch
Heroku
- Apriamo il branch
- Heroku piattaforma cloud PaaS
- Che cosa è una piattaforma cloud PaaS
- Che cosa è Heroku
- La storia di Heroku
- A cosa serve e come funziona Heroku
- Heroku come repository remoto
- Inizializziamo Heroku
- Settaggio per la pubblicazione su Heroku
- Creiamo l’app su heroku
- Chiudiamo il branch
Internazionalizzazione della pagina di test.
- Apriamo il branch
- Internazionalizazione (i18n)
- I18n statico con YAML
- Scelgo lingua di default
- Chiudiamo il branch
Github
- Apriamo il branch
- L’importanza del README.md
- Github
- Chiudiamo il branch
- Creiamo lo stile
Mockups
- Prepariamo uno sketch della nostra applicazione
Bower
- Gestire l’app asset di Ruby on Rails con Bower
- Usare Bower per l’asset management
- Differenza tra Bower e le gemme di Rails.
Template Angle
- Implementiamo il template
- /Bower.json
- /Gemfile
- Implementiamo Bower
- /config.ru
- /Gemfile.lock
- /Rakefile
- /README.md (o .rdoc)
- /app/assets/api/
- /app/assets/config/
- /app/assets/documentation/
- /app/assets/i18n/
- /app/assets/images/angle/
- /app/assets/javascripts/channels/
- /app/assets/javascripts/application.js
- /app/assets/javascripts/cable.js
- /app/assets/javascripts/base.js, singleview.js.coffee
- /app/assets/javascripts/angle/
- /app/assets/stylesheets/application.css (.css.scss)
- /app/assets/stylesheets/angle/
- /app/assets/stylesheets/base.css.scss,…,vendor.assets.css.scss
- /app/channels/
- /app/controllers/
- /app/helpers/
- /app/jobs/
- /app/mailers/
- /app/models/
- /app/views/
- /bin/
- /config/application.rb
- /config/boot.rb
- /config/cable.yml
- /config/database.yml
- /config/environment.rb
- /config/environments/development.rb
- /config/environments/production.rb
- /config/environments/test.rb
- /config/initializers/application_controller_renderer.rb
- /config/initializers/assets.rb
- /config/initializers/backtrace_silencers.rb
- /config/initializers/cookies_serializer.rb
- /config/initializers/filter_parameter_logging.rb
- /config/initializers/inflections.rb
- /config/initializers/mime_types.rb
- /config/initializers/new_framework_defaults.rb
- /config/initializers/session_store.rb
- /config/initializers/wrap_parameters.rb
- /config/locales/en.yml
- /config/puma.rb
- /config/routes.rb
- /config/secrets.yml
- /config/spring.rb
- /db/seeds.rb
- /lib/
- /log/
- /public
- /test/
- /tmp/
- /vendor/
- Pubblichiamo su Heroku
- Chiudiamo il branch
Backup su github
Aggiornamento del template
- /Bower.json
- /app/assets/javascripts/angle/
- /app/assets/stylesheets/angle/
- Ci fermiamo qua
- Chiudiamo il branch
- login
Angle Login
- Installiamo devise
- Punto 1.
- punto 2.
- punto 3.
- punto 4.
- Attiviamo la tabella users con devise
- Lavoriamo sulle routes
- Aggiungiamo logout
- Attiviamo il passaggio 5 del template con anche il controller
- Implementiamo la view di login
- Lavoriamo sul controller di users
- Lavoriamo sul view users show
- Devise login to root homepage
- Root homepage - Devise login to user show
- Proteggiamo anche homepage con devise
- Operazione finale
Admin role
- Apriamo un branch
- Aggiungiamo l’attributo admin
- Testiamo la parte di login in produzione.
- Chiudiamo il branch
- Predisponiamo la dashboard
Mockup Dashboard
- Rails generate controller Mockups
- Asset precompile
- Routes
- Proviamo heroku
- Modifichiamo la views/index
- Chiudiamo il branch
Onlus e Chioschi
- Creiamo la tabella onlus
- Creiamo la tabella kiosks
- Finalizziamo la relazione uno a molti
- Popoliamo manualmente la tabella
- Andiamo in produzione
- Chiudiamo il branch
Homepage
- Rails generate controller
- Risolvo manualmente config/application.rb
- Routes
- Views homepage index
- Chiudiamo il branch
Filtriamo i chioschi per onlus di appartenenza
- Passiamo dinamicamente l’id dell’onlus
- Aggiungiamo un link per ogni onlus
- Selettore a cascata
- Pubblichiamo in produzione su heroku
- Chiudiamo il branch
- Elaboriamo le mappe su google
Google API
Nascondiamo le google secrets key con figaro
- Apriamo il Branch
- Usiamo Figaro
- Pubblichiamo su Heroku
Chioschi sulla mappa
- Aggiungiamo i campi indirizzo
- Elaboriamo files di testo separati da virgola
Donachiaro CSV
Attivo libreria ruby CSV
Transactions
- Apriamo il branch
- Implementiamo con scaffold
- Link per lanciare l’importazione
- Model Payment - import
- Controllo dei records
- Chiudiamo il branch
CURL
- Riferimenti web
Leggiamo da un server FTP
- Scarichiamo il file txt da un server FTP
- Open-uri
Amazon Web Service S3
- Che gemma usare per upload su AWS S3
- Apriamo il branch “Csvfile on Aws S3”
- Installiamo Paperclip
- Aggiungiamo il campo csvfile alla tabella kiosks
- Aggiungiamo paperclip csvfile al model
- Aggiungiamo paperclip csvfile al controller
- Aggiungiamo paperclip csvfile al views/new e views/edit
- Aggiungiamo sul view/show
- Implementiamo Amazon S3
- Installiamo aws-sdk
- Connettiamoci al bucket di amazon web service S3.
- Il nome del bucket
- La Access key e la Secret access key - IAM user
- La s3_region
- Connettiamoci su AWS S3 da development
- Impostiamo upload anche per la produzione
- Publichiamo su heroku
- Rivediamo l’upload
- Apriamo il file uploadato su AWS S3
- Mascheriamo i secrets con Figaro
- Connettiamoci su AWS S3 da production (Heroku)
- Pubblichiamo su heroku
- Chiudiamo il branch
- Upload file su AWS S3 via FTP
Kiosks sum
- Apriamo il branch
- Un chiosco molte transazioni
- Model uno-a-molti
- Import per chiosco
- Aggiungiamo il campo transaction_counter
- Facciamo le somme sulla console
- Mettiamo i totali nella tabella kiosks
- Chiudiamo il branch
- Approfondimento su kiosks
Mostriamo il chiosco (kiosk)
- Apriamo il branch “people show”
- Attiviamo la view kiosks/show
- Implementiamo il controller kiosk show
- Implementiamo la ricerca per data
- Risorse web
Risorse su Rails
- gemfile
- git
- devise
- postpone
- read file CSV:
- transactions AWS S3:
- gemfile vs bower
- angle_admin
Trademarks
- Codice della sezione INIZIO