Diferència entre revisions de la pàgina «Projecte Escacs - Especificacions»

De Wiket
Salta a la navegació Salta a la cerca
 
(Hi ha 4 revisions intermèdies del mateix usuari que no es mostren)
Línia 7: Línia 7:
 
Instal·la Cordova segons s'explica en aquesta wiki:
 
Instal·la Cordova segons s'explica en aquesta wiki:
 
  http://rikimaru.tk/wiki/index.php/Apache_Cordova
 
  http://rikimaru.tk/wiki/index.php/Apache_Cordova
 +
 +
Tens informació vària de desenvolupament en aquesta altra:
 +
https://cacauet.org/wiki/index.php/Cordova
  
 
<br>
 
<br>
Línia 19: Línia 22:
 
== Especificacions funcionals ==
 
== Especificacions funcionals ==
 
# M6 Desenvolupament client:
 
# M6 Desenvolupament client:
## ...
+
## L'aplicació s'iniciarà amb login i password per poder jugar.
## ...
+
## Un cop logat es mostraran els usuaris disponibles per començar partida, i podrem triar contraa qui enfrontar-nos.
 +
## Quan comença la partida, es mostra un taulell amb les figures (1 com a mínim per les blanques, i 1 per les negres).
 +
## Cal controlar el torn de jugadors.
 +
## Mourem figura marcant origen i destí. Transmetrem via API el moviment al servidor.
 +
## L'usuari pot fer logout.
 +
## Quan s'acaba la partida es torna a mostrar els jugadors disponibles per tornar a jugar.
 
# M7: Desenvolupament servidor:
 
# M7: Desenvolupament servidor:
## ...
+
## El backend (API) ha d'estar en producció (Heroku o AWS).
 +
## Els jugadors cal que es registrin via web (sign up).
 +
## Per poder jugar caldrà primer autenticar-se i otenir un ''token'' per la resta de la partida.
 +
## La partida ha de ser amb 2 jugadors.
 +
## Només cal implementar una sola figura (de la vostra elecció: rei, cavall, alfil, torre, ...) per cada jugador.
 +
## Cal implementar la lògica del moviment de la figura (tenint en compte si és blanca o negra, si s'escau).
 +
## Cal controlar el torn de la partida.
 +
 
 +
Tens una proposta de API en aquest enllaç:
 +
https://cacauet.org/wiki/index.php/Web_Services:_exemple_Escacs#Especificaci.C3.B3
 +
 
 +
A aquesta API cal afegir-li la obtenció del ''token'' un cop fem el ''login''.
 +
 
 +
<br>
  
 +
== Ampliacions ==
 +
Podeu optar per ampliar el joc d'alguna d'aquestes maneres:
 +
* Implementar més figures.
 +
* Múltiples partides per jugador.
 +
* ...
  
 
<br>
 
<br>
  
 
== Referències ==
 
== Referències ==
 +
Un tema important és solucionar la possibilitat de cridar a funcions amb fonts d'altres orígens, el què anomenem CORS (Cross-Origin Resource Sharing).
 +
 +
Aquí tens més info amb codi d'exemple:
 +
https://cacauet.org/wiki/index.php/Cordova#APIs.2C_AJAX_i_CORS
  
 
<br>
 
<br>

Revisió de 15:37, 11 abr 2018

Introducció

L'objectiu serà fer un joc d'escacs online multijugador.

En aquest cas, l'implementarem amb Cordova per poder compilar sobre una app mòbil.

Instal·la Cordova segons s'explica en aquesta wiki:

http://rikimaru.tk/wiki/index.php/Apache_Cordova

Tens informació vària de desenvolupament en aquesta altra:

https://cacauet.org/wiki/index.php/Cordova


Especificacions no funcionals

  • L'implementarem en una App mòbil utilitzant Cordova (M6)
  • La API de servidor (backend) la implementarem amb Laravel (M7)
  • El desplegament del backend el podeu fer sobre Heroku o sobre el vostre Amazon AWS (opcional).


Especificacions funcionals

  1. M6 Desenvolupament client:
    1. L'aplicació s'iniciarà amb login i password per poder jugar.
    2. Un cop logat es mostraran els usuaris disponibles per començar partida, i podrem triar contraa qui enfrontar-nos.
    3. Quan comença la partida, es mostra un taulell amb les figures (1 com a mínim per les blanques, i 1 per les negres).
    4. Cal controlar el torn de jugadors.
    5. Mourem figura marcant origen i destí. Transmetrem via API el moviment al servidor.
    6. L'usuari pot fer logout.
    7. Quan s'acaba la partida es torna a mostrar els jugadors disponibles per tornar a jugar.
  2. M7: Desenvolupament servidor:
    1. El backend (API) ha d'estar en producció (Heroku o AWS).
    2. Els jugadors cal que es registrin via web (sign up).
    3. Per poder jugar caldrà primer autenticar-se i otenir un token per la resta de la partida.
    4. La partida ha de ser amb 2 jugadors.
    5. Només cal implementar una sola figura (de la vostra elecció: rei, cavall, alfil, torre, ...) per cada jugador.
    6. Cal implementar la lògica del moviment de la figura (tenint en compte si és blanca o negra, si s'escau).
    7. Cal controlar el torn de la partida.

Tens una proposta de API en aquest enllaç:

https://cacauet.org/wiki/index.php/Web_Services:_exemple_Escacs#Especificaci.C3.B3

A aquesta API cal afegir-li la obtenció del token un cop fem el login.


Ampliacions

Podeu optar per ampliar el joc d'alguna d'aquestes maneres:

  • Implementar més figures.
  • Múltiples partides per jugador.
  • ...


Referències

Un tema important és solucionar la possibilitat de cridar a funcions amb fonts d'altres orígens, el què anomenem CORS (Cross-Origin Resource Sharing).

Aquí tens més info amb codi d'exemple:

https://cacauet.org/wiki/index.php/Cordova#APIs.2C_AJAX_i_CORS