Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Gamemate
DESIGN AND PROTOTYPICAL IMPLEMENTATION
OF AN ARCHITECTURE TO SHARE GAMES
UNIVERSITÁ DEGLI STUDI DI TORINO – DIPAR...
Gamemate : cosa è?
 Piattaforma di supporto (PROGMOB)
 Architettura Cloud (Clusters)
 Back-end (RESTful API)
 Template...
Obiettivo : interfaccia unificata per
PvP, punteggi,
tornei, …
Statistiche e
Analisi dei
miei prodotti
Facilita di
integra...
Template Apps
React Native
 App Native con codebase cross platform
 Facebook, Instagram apps sono create con questa
tecnologia
 Basat...
App Utente (User Catalog)
 Autenticazione
 Elenco dei giochi
 Attiva/disattiva gioco
App Utente (Admin)
 Autenticazione
 Inserimento dati gioco
 Eliminazione gioco
App Utente (Developer)
 Autenticazione
 Richiesta token
 Invalidazione token
Esempio di use case : sviluppatore
Quindi che
devo fare per
usare le API?
Assumendo un ambiente configurato:
 Registrarsi...
L’Architettura Cloud
L’Architettura Cloud
Logica Applicativa
 Accoglie le richieste
 Comunica con gli altri cluster
 Fornisce risultati
Dati a lungo termine
 Aggregazione dei dati
 Persistenza su disco
 Eventuale Data Analysis
Dati a breve termine
 Velocità
 Eventually Persistent
 Scalabile
Implementazione
 Golang
 Labstack echo (framework)
 Redis + Mysql drivers
Implementazione
Golang + Echo = RESTful API
 Scambio dati JSON
 Collegamento tramite URL
Tecnologie Impiegate : Redis
 Key/Value NoSQL Database
 Allocazione in RAM = Velocità
 Difficile aggregare dati
Tecnologie Impiegate : MariaDB
 DB Relazionale
 Interfacciamento MySQL
 Esportazione di risultati tabellari
Test e Considerazioni
App di Test (Tic Tac Toe)
 Autenticazione utente
 Lobbies
 Partita = Connessione persistente
 Sfruttare dei containers e orchestrators per il deploy facile di un cluster.
 Supporto HTTPS (certificati)
 Creare scr...
Le repository sono tutte hostate su github ed è possibile collaborare facendo delle pull
request.
 Gamemate Server : http...
“
”
Do not communicate by sharing
memory. Instead, share memory
by communicating.
ANDREW GERRAND – GOLANG CORE CONTRIBUTOR...
Note Aggiuntive
Partenza a freddo
 Cache on demand
 Cache popolata grazie agli archivi
Documentazione
 Assenza di wiki o manuali
 È possibile collaborare al suo sviluppo futuro
 Il sorgente è documentato
 ...
Upcoming SlideShare
Loading in …5
×

of

Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 1 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 2 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 3 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 4 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 5 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 6 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 7 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 8 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 9 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 10 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 11 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 12 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 13 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 14 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 15 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 16 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 17 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 18 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 19 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 20 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 21 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 22 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 23 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 24 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 25 Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games Slide 26
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

0 Likes

Share

Download to read offline

Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games

Download to read offline

Gamemate is Alessandro Sanino's First Level Degree Thesis Project and consists of an architecture to share games across the cloud, by providing also some template of possible front-end mobile apps.
Technologies used : Golang, Labstack Echo, React Native and JSX, Redis, MariaDB.
The full project is available on my LinkedIn profile as a Publication : https://www.linkedin.com/in/alessandrosanino/

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

Gamemate - Design and Prototypical Implementation of an Architecture for sharing Mobile Games

  1. 1. Gamemate DESIGN AND PROTOTYPICAL IMPLEMENTATION OF AN ARCHITECTURE TO SHARE GAMES UNIVERSITÁ DEGLI STUDI DI TORINO – DIPARTIMENTO DI INFORMATICA CANDIDATO: SANINO ALESSANDRO RELATORE: DAMIANI FERRUCCIO
  2. 2. Gamemate : cosa è?  Piattaforma di supporto (PROGMOB)  Architettura Cloud (Clusters)  Back-end (RESTful API)  Template di apps
  3. 3. Obiettivo : interfaccia unificata per PvP, punteggi, tornei, … Statistiche e Analisi dei miei prodotti Facilita di integrazione e sicurezza
  4. 4. Template Apps
  5. 5. React Native  App Native con codebase cross platform  Facebook, Instagram apps sono create con questa tecnologia  Basato su JSX  Logica Applicativa in Javascript
  6. 6. App Utente (User Catalog)  Autenticazione  Elenco dei giochi  Attiva/disattiva gioco
  7. 7. App Utente (Admin)  Autenticazione  Inserimento dati gioco  Eliminazione gioco
  8. 8. App Utente (Developer)  Autenticazione  Richiesta token  Invalidazione token
  9. 9. Esempio di use case : sviluppatore Quindi che devo fare per usare le API? Assumendo un ambiente configurato:  Registrarsi sul portale.  Chiedere tramite il portale un token.  Inserire in ogni richiesta effettuata al portale dalle app/dai siti implementati.
  10. 10. L’Architettura Cloud
  11. 11. L’Architettura Cloud
  12. 12. Logica Applicativa  Accoglie le richieste  Comunica con gli altri cluster  Fornisce risultati
  13. 13. Dati a lungo termine  Aggregazione dei dati  Persistenza su disco  Eventuale Data Analysis
  14. 14. Dati a breve termine  Velocità  Eventually Persistent  Scalabile
  15. 15. Implementazione  Golang  Labstack echo (framework)  Redis + Mysql drivers
  16. 16. Implementazione Golang + Echo = RESTful API  Scambio dati JSON  Collegamento tramite URL
  17. 17. Tecnologie Impiegate : Redis  Key/Value NoSQL Database  Allocazione in RAM = Velocità  Difficile aggregare dati
  18. 18. Tecnologie Impiegate : MariaDB  DB Relazionale  Interfacciamento MySQL  Esportazione di risultati tabellari
  19. 19. Test e Considerazioni
  20. 20. App di Test (Tic Tac Toe)  Autenticazione utente  Lobbies  Partita = Connessione persistente
  21. 21.  Sfruttare dei containers e orchestrators per il deploy facile di un cluster.  Supporto HTTPS (certificati)  Creare script di deploy automatico  Aggiungere i giochi come microservizi interni alla piattaforma Possibili sviluppi futuri
  22. 22. Le repository sono tutte hostate su github ed è possibile collaborare facendo delle pull request.  Gamemate Server : https://git.io/Gamemate  Gamemate Developer App: https://git.io/Template-Dev  Gamemate Admin Template: https://git.io/Template-Admin  Gamemate User Catalog Template: https://git.io/Template-User  Tic Tac Toe con integrazione Gamemate: https://git.io/TicTacToe Server : 4k+ righe di codice Apps : 4k+ righe di codice Gamemate è Open Source
  23. 23. “ ” Do not communicate by sharing memory. Instead, share memory by communicating. ANDREW GERRAND – GOLANG CORE CONTRIBUTOR @ GOOGLE SIDNEY Grazie per l’attenzione
  24. 24. Note Aggiuntive
  25. 25. Partenza a freddo  Cache on demand  Cache popolata grazie agli archivi
  26. 26. Documentazione  Assenza di wiki o manuali  È possibile collaborare al suo sviluppo futuro  Il sorgente è documentato  È possibile usare GODOC

Gamemate is Alessandro Sanino's First Level Degree Thesis Project and consists of an architecture to share games across the cloud, by providing also some template of possible front-end mobile apps. Technologies used : Golang, Labstack Echo, React Native and JSX, Redis, MariaDB. The full project is available on my LinkedIn profile as a Publication : https://www.linkedin.com/in/alessandrosanino/

Views

Total views

360

On Slideshare

0

From embeds

0

Number of embeds

4

Actions

Downloads

1

Shares

0

Comments

0

Likes

0

×