Diferència entre revisions de la pàgina «Projecte Escacs - Especificacions»
Salta a la navegació
Salta a la cerca
(Hi ha 2 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 36: | Línia 39: | ||
Tens una proposta de API en aquest enllaç: | Tens una proposta de API en aquest enllaç: | ||
− | https://cacauet.org/wiki/index.php/Web_Services:_exemple_Escacs# | + | 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''. | A aquesta API cal afegir-li la obtenció del ''token'' un cop fem el ''login''. | ||
Línia 51: | Línia 54: | ||
== 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
- 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:
- 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.
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