Projecte Xat - Especificacions
Introducció
L'ajuntament de Cornellà ens demana una aplicació web suficientment flexible per adaptar-se a diverses situacions i apropar més als ciutadans per promoure idees i detectar problemes de la ciutat.
Requeriments
El personal de l'Ajuntament ens dona aquests requeriments:
- Debats online.
- Denunciar mobiliari urbà malmès.
- Pàgina de contactes/intercanvis (per exemple, hi ha algú que vol muntar un campionat d'escacs, o que està disposat a donar classes de piano a canvi de classes de cuina Japonesa, etc.)
- Chatrooms temàtiques clàssiques (pensant que ha de ser de fàcil ús. una espècie de mIRC simplificat, per entendre'ns ...)
La idea seria agrupar totes aquestes funcionalitats en una sola site. Els ciutadans es registrarien, i escollirien un nickname per mantenir l'anonimat.
Especificacions
- Heu de definir un estil que penseu que és adequat per fer aquesta site.
- Cal que la site tingui un look and feel similar i que s'incorpori el logo de Cornellà en totes les pàgines (veure : http://www.cornella.cat/ca/ImatgeCorporativa.asp)
- Quan es registrin, els ciutadans especifiquin a on viuen de la ciutat i que donin un telèfon i un email.
- La site es pugui veure en la majoria de navegadors actuals.
- Cal que el prototipus que es faci sigui accessible des de la web.
- Cal que es pugui anar a la configuració de l'usuari i que es pugui canviar les seves dades personals.
- Crear debats. La site ha de poder facilitar als usuaris afegir debats (definir-los) a l'estil de http://parlemapp.cat) i associar-hi etiquetes (hashtags).
- Els usuaris podran veure els debats proposats i cercar-los (emparant les etiquetes - (hashtags)).
- Denuncia objectes malmesos La site ha de tenir una secció per poder pujar imatges dels objectes malmesos i indicar la seva situació.
- Secció intercanvis.Cal que també tingui una secció d'intercanvis (se'ls hi pugui associar una etiqueta) per a possibles trocs o barates ("trueques") (p.ex https://www.milanuncios.com/trueque/).
- Chatrooms.Contingui la possibilitat de definir chatrooms (afegir chatrooms amb un codi i puguis començar amb un xat amb tots aquells usuaris registrats que vagin entrant que coneguin aquell codi. Per tant, a priori el chat seria privat, i només s'hi podria accedir amb un codi, a l'estil del chat de l'Slack (https://slack.com/intl/es-es) o també us podeu inspirar amb kahoot! (https://kahoot.it/).
- Disseny que es pugui visualitzar correctament en una pantalla de portàtil i que s'adapti en dipositius d'almenys 400 px. (bon grau responsive)
Especificacions funcionals
- M6: programació client
Navegació global:Menús i/o pestanyes han de tenir efectes visuals
Xat:La comunicació amb el servidor serà a partir de missatges.Tota la vista serà gestionada per l'entorn client.Diferenciar cadascun dels usuaris que parlin al xat (globus de missatge, colors pel nom, etc.)Quan et connectes es mostraran tots els missatges de la darrera hora.Si la darrera hora no hi ha conversa, es mostraran els darrers 20 missatges.
- M7: programació servidor
Autenticació:Els usuaris es poden registrar amb email i poden recuperar contrasenyaLa contrasenya estarà xifradaL'usuari ha de triar-se un nickname únic
AutoritzacióUsuaris administradors poden crear chatrooms, respondre denúncies, penjar notíciesUsuaris registrats poden xatejar, crear denúncies i visualitzar notícies.
Navegació globalSeccions: Xat, Denúncies, Debats, NotíciesBreadcrumbsBanner de publicitat
- Xat:
Inicialment es vol una chatroom per barri.- Els usuaris poden mantenir xats privats.
Denúncies:La denúncia ha d'incloure 1 foto, un text i una geolocalitzacióL'usuari pot veure les seves pròpies denúncies efectuadesL'administrador pot contestar la denúncia per informar l'usuari
- Notícies:
Els usuaris administradors poden crear notíciesEl formulari per crear notícies ha de incloure un títol, una data, un texte i una imatge opcional (Jquery)Els usuaris normals i els usuaris anónims poden veure les notícies ordenades per dataL'usuari administrador ha de poder marcar una notícia com a important i tingui la data que tingui aquesta surtirà la primera durant 7 díesCrear un sistema de categories per les notíciesEls administradors poden asignar una categoria a les notíciesEls usuaris poden veure un llistat de les categories en la página de notíciesEn clicar una categoria només es mostrarà les notícies de la categoria seleccionada
- Debats:
- ...coming soon...
- Desplegament
- M9: disseny d'interfície
Per avaluar el M9 cal que la web sigui accessible per la web per poder-la validar (p.ex passar el test de usabilitat browsers, encoratjar-vos a veure en diferents dispositius, etc.). Recordeu que ha de ser un prototipus! no es valorarà la implementació de la site (requeriments funcionals M7,M6), i si el disseny i la funcionalitat de la demo ("proof of concept" i el disseny).
Enviar un document amb les dades del grup, el disseny (distribució general de la site, colors escollits, logo, etc.) i el resum del grau d'accessibilitat de la vostra site i la URL de la pàgina a on teniu la site (utilitzeu els resultats de les pàgines vistes en el curs).
Afegiu un usuari anonim per testejar-ho :
anonim/anonim
1) Formalització del Disseny (25%) - Site com a conjunt. La formalització és molt destecable, codi de color, composició, tipografia i disseny d'imatges/logos.
2) Visualització (15%). . La pàgina es vegi correctament en browsers moderns (test) i grau de d'adaptació a diferents terminals.
3) Bona accessibilitat, i funcionalitat dels requeriments especificats (45%) en general.
Prototipus -proof of concept de la site a on es vegi les funcionalitats especificades.
Funcionalitat de la pàgina - Usabilitat . S'han escollit elements d'interfície web (botons, links, ..) adients per moure't per l'entorn-, missatges d'error es visualitzen adequadament, etc.
Grau d'accessibilitat.
4) Cura en els detalls (15%) d'instal·lació. Facilitat per instal·lar projecte (README del projecte concís, explicant com instal·lar la web, automatisme : executant .sql es carrega correctament, etc.)
Especifiacions no funcionals
- Es treballarà amb framework Laravel en PHP
- Utilitzarem el framework jQuery per a la part client
- ...
Prototip
Només aplica a M9.
...
Definition of Done (DOF)
- Tarea implementada
- Tarea testeada
- Tarea comiteada
- Tarea subida a producción
...
Sprint #1 (20 hores)
- Disenyar i analitzar l'sprint (2 hores)
- Navegació global, efectes visuals a tots els menus, pestanyes, etc (1 hora)
- Registre d'usuaris i recuperació de contrasenya (2 hores)
- Contrasenya xifrada (2 hores)
- L'usuari tria el nick (1 hora)
- Navegació global Seccions (2 hores)
- Breadcrumbs (1 hora)
- Banner publicitat (1 hora)
- La denúncia ha d'incloure 1 foto, un text i una geolocalització (3 hores)
- L'usuari pot veure les seves pròpies denúncies efectuades (1 hora)
- L'administrador pot contestar la denúncia per informar l'usuari (1 hora)
- Vista básica xat (3 hores)
Sprint #1 grup 3 persones ( + 7 hores)
- Diferenciar usuaris (2 hores)
- Primera conexió al xat (2 hores)
- Si no hi ha missatges a l'última hora carregar els 20 últims missatges (1 hora)
- Per defecte 1 xatroom per barri (2 hores)
Sprint #2 (14 hores)
- API para el xat (5 hores)
- 1ª conexión missatge (2 hores)
- Si no hi ha missatges durant la darrera hora carregar els 20 últims missatges (1 hora)
- 1 xatroom per barri per defecte (2 hores)
- Crear el formulari de notícies (2 hores)
- Visualització de les notícies ordenades per data (2 hores)
Sprint #3 (20 hores, 10 hores investigació Laravel + 10 hores Sprint Modalitat Pair Programming)
- L'usuari administrador ha de poder marcar una notícia com a important i tingui la data que tingui aquesta surtirà la primera durant 7 díes (2 hores)
- Crear un sistema de categories per les notícies (1 hora)
- Els administradors poden asignar una categoria a les notícies (1 hora)
- Els usuaris poden veure un llistat de les categories en la página de notícies (2 hores)
- En clicar una categoria només es mostrarà les notícies de la categoria seleccionada (2 hores)
- Acabar les tasques endarredires (2 hores)