Immagina di realizzare un'applicazione online in cui gli utenti possono giocare a Nim, un gioco di strategia basato su turni. In Nim esistono tre heap di oggetti. Due giocatori si alternano a turno per rimuovere un qualsiasi numero di oggetti da un unico insieme. Lo scopo del gioco è spingere l'altro giocatore a rimuovere l'ultimo oggetto.

Come parte dell'applicazione, devi salvare lo stato di un gioco esistente. Inoltre, devi inviare delle notifiche agli utenti in vari punti in un gioco. Tali notifiche vengono inviate quando un utente li invita a un nuovo gioco, quando è il loro turno e quando viene decretato un vincitore.

In questo corso, imparerai a utilizzare Amazon DynamoDB e Amazon SNS per gestire queste necessità. Amazon DynamoDB viene utilizzato per archiviare lo stato di un gioco attivo in modo che sia persistente fra i vari turni. Amazon SNS viene utilizzato per avvisare i giocatori in punti rilevanti del gioco.

Nel Modulo 1, configurerai il tuo ambiente e scaricherai il codice da utilizzare durante il corso.

Tempo necessario per completare il modulo: 20 minuti

 


  • Fase 1: Creazione di un account AWS

    Utilizza un account AWS personale oppure crea un nuovo account AWS per questo corso. Non utilizzare un account aziendale per disporre dell'accesso completo ai servizi necessari e non tralasciare nessuna risorsa da questo corso. Al termine del corso, se non elimini le risorse utilizzate potrebbero venirti addebitati ulteriori costi AWS.

  • Fase 2: Configurazione dell'IDE AWS Cloud9

    AWS Cloud9 è un ambiente di sviluppo integrato (IDE - Integrated Development Environment) basato su cloud che consente di scrivere, gestire ed eseguire il debug del codice con un semplice browser. AWS Cloud9 include un editor di codici, un debugger e un terminale. Inoltre, è preconfigurato con gli strumenti essenziali per i linguaggi di programmazione più diffusi e con l'AWS CLI (Command Line Interface) preinstallata. In questo modo non dovrai installare i file o configurare il tuo computer per questo corso. L'ambiente AWS Cloud9 disporrà dell'accesso alle stesse risorse AWS dell'utente con cui hai effettuato l'accesso alla console di gestione AWS.

    Per configurare l'ambiente di sviluppo AWS Cloud9:

    1. Accedi alla console di gestione AWS, seleziona Servizi nella parte superiore della pagina, quindi seleziona Cloud9 sotto alla voce Strumenti per sviluppatori.
    2. Seleziona Crea un ambiente.
    3. Digita Gioco basato su turni nella casella Nome. Lascia vuota la casella Descrizione.
    4. Seleziona Fase successiva.
    5. Lascia le Impostazioni ambiente predefinite per creare una nuova istanza EC2 t2.micro, che sarà ibernata dopo 30 minuti di inattività.
    6. Seleziona Fase successiva.
    7. Controlla il nome e le impostazioni dell'ambiente, quindi seleziona Crea ambiente. Sono necessari alcuni minuti per l'assegnazione e la preparazione dell'ambiente.
    8. Quando l'ambiente è pronto, il tuo IDE dovrebbe aprirsi con un messaggio di benvenuto.

    Ora dovresti visualizzare il tuo ambiente AWS Cloud9. Devi conoscere le tre aree della console AWS Cloud9 riportate nello screenshot seguente:

    • File explorer: a sinistra del tuo IDE, il file explorer ti mostra un elenco dei file presenti nella directory.
    • File editor: in alto a destra del tuo IDE, il file editor ti consente di visualizzare e modificare i file selezionati nel file explorer.
    • Terminale: in basso a destra dell'IDE, il terminale è dove puoi eseguire i comandi per lanciare i codici di esempio.

    (fai clic per ingrandire)

  • Fase 3: Download del codice di supporto

    In questo corso, utilizzerai JavaScript per interagire con il database Amazon DynamoDB e Amazon SNS. Esegui i comandi seguenti nel terminale AWS Cloud9 per scaricare e decomprimere il codice del modulo.

    cd ~/environment
    curl -sL http://d118jxrmrxsq90.cloudfront.net/turn-based.tar | tar -xv
    

    Esegui il comando seguente nel terminale AWS Cloud9 per visualizzare le directory.

    ls

    Dovresti visualizzare due directory nel file explorer di AWS Cloud9:

    • application: la directory application contiene il codice di esempio per l'applicazione di gioco basata su turni. Questo codice assomiglia al codice del back-end dell'applicazione di gioco basata su turni reale.
    • scripts: la directory scripts contiene gli script di livello di amministratore, come quelli per la creazione di risorse AWS o per il caricamento dei dati nel database.

    Esegui il comando seguente nel terminale AWS Cloud9 per installare le dipendenze di entrambe le directory.

    npm install --prefix scripts/ && npm install --prefix application

    Esegui il seguente comando nel terminale AWS Cloud9 per configurare la regione AWS in un file ambiente. Questo esempio utilizza us-east-1, ma puoi immettere una regione AWS di tua scelta da utilizzare per questo corso.

    echo "export AWS_REGION=us-east-1" >> env.sh && source env.sh

    Usa il file env.sh per archiviare le variabili dell'ambiente delle risorse e gli altri parametri necessari per questo corso. Se decidi di interrompere questo corso e di avviare una nuova sessione nel tuo ambiente AWS Cloud9, assicurati di ricaricare le variabili dell'ambiente eseguendo il seguente comando nel terminale:

    source env.sh

In questo modulo, abbiamo illustrato l'applicazione di esempi che creerai in questo corso. Hai anche configurato un account AWS e un'istanza AWS Cloud9.

Sei pronto per iniziare il corso. Nel prossimo modulo, effettuerai il provisioning del tuo database Amazon DynamoDB.