Diferència entre revisions de la pàgina «Projecte Portal de Matriculacions»
Línia 57: | Línia 57: | ||
<br> | <br> | ||
+ | |||
+ | == BACKLOG Fase 2 == | ||
+ | |||
+ | Transversals | ||
+ | - missatges flash per TOT | ||
+ | - responsive TOT | ||
+ | |||
+ | |||
+ | === Producció === | ||
+ | - social login google+microsoft | ||
+ | - login estàndard amb codi d'un sol us via email | ||
+ | - posta en prod Heroku | ||
+ | - posta en prod AWS | ||
+ | - càrrega de docs/imatges versió DB. assegurar que carreguen imatges grans. | ||
+ | - càrrega de docs/imatges versió FILESYSTEM. | ||
+ | - documentar posta en producció | ||
+ | |||
+ | === API & + === | ||
+ | - documentar totes les API a la Wiki del projecte | ||
+ | - APIs per app mòbil | ||
+ | - login alumne | ||
+ | - selecció perfil de requeriments | ||
+ | - autoritzacions/acceptació de polítiques de privacitat | ||
+ | - selecció de UFs | ||
+ | - càrrega d'arxius (i canvi d'estat) | ||
+ | - enviament de notificacions (sol·licitud de canvi de dades personals, incidències, etc.) | ||
+ | |||
+ | - social login per mobile app | ||
+ | - test APIs | ||
+ | - versió amb taules separades per admins i alumnes | ||
+ | |||
+ | |||
+ | |||
+ | === Admin panel === | ||
+ | - CRUD complert alumnes (sense AJAX) | ||
+ | - CRUD complert admins (sense AJAX) | ||
+ | - CRUD complert de Perfils de requeriments i requeriments (sense AJAX) | ||
+ | |||
+ | - llistat alumnes amb filtres per: cicle, nom, cognom1, cognom2, estat matrícula | ||
+ | |||
+ | - ordenar per diferents criteris | ||
+ | - visualització de documents carregats | ||
+ | - panell de revisió de documentació carregada. Quan un alumne carrega TOTS els documents, es visualitza en el panell de matrícules a revisar. Es podrà canviar l'estat de doc a OK (verd) o ERROR (vermell) amb COMENTARIS. Quan tota la doc estigui OK s'activarà un botó d'estat total de la matrícula a FET | ||
+ | |||
+ | - gestió de notificacions/incidències: panell de control on es mostren incidències a resoldre. Ha d'estar integrat amb el panell de revisió de la documentació | ||
+ | |||
+ | - enviament emails: (alumnes) | ||
+ | - canvi estat doc | ||
+ | - nova incidència | ||
+ | - nova sol·licitud de canvi de dades | ||
+ | - noves respostes | ||
+ | |||
+ | |||
+ | |||
+ | === Alumne frontend === | ||
+ | per tot: RESPONSIVE | ||
+ | |||
+ | - selecció perfil de requeriments | ||
+ | - càrrega de Documentació (versió FILESYSTEM i versió DB) | ||
+ | - visualització de documentació i UX clara d'estat de cada Doc i de la matrícula general | ||
+ | - q s'entengui q és un semàfor | ||
+ | - | ||
+ | - enviament de notificacions | ||
+ | - sol·licitud de canvi de dades personals | ||
+ | - incidències | ||
+ | - ...? | ||
+ | - autoritzacions/acceptació de polítiques de privacitat | ||
+ | - càlcul cost matrícula | ||
+ | - selecció d'UFs | ||
+ | - pasarel·la de pagament (simulació) | ||
+ | |||
+ | |||
+ | === Importació i testing === | ||
+ | |||
+ | - tancar importació alumnes admesos | ||
+ | - importació dades SAGA (UFs superades) | ||
+ | - gestió errors (log/consultable) | ||
+ | - tests browser site | ||
+ | - documentació testing | ||
+ | - CI amb Jenkins | ||
+ | |||
+ | |||
== Fase 2: Desenvolupament avançat == | == Fase 2: Desenvolupament avançat == |
Revisió del 12:29, 15 abr 2021
Hem iniciat un projecte de matriculacions d'alumnes per a centres educatius. Podeu veure la descripció del projecte i els primers 2 sprints al següent link:
https://scrum.ieti.cat/scrum/projecte/10
Referències
- Portal de Matriculacions - core specs al portal Scrum IETI
- Matrics - Portal de Mariculacions a Github
Descripció del projecte
Portal de matriculacions per a centres educatius de formació professional. De moment només ens ocupem de la FP i no de la ESO/BAT.
MVP: Minimum Viable Product. Cas més senzill: matricular els alumnes nous de 1r de cicles formatius (es matriculen de tot el curs sencer, o sigui, totes les UFs).
2n cas: matricular alumnes de cicles de 2n o repetidors de 1r amb UFs aprovades.
Tipus d'usuaris: administradors (PAS del centre) i alumnes que es volen matricular.
Els usuaris administradors han de poder:
- Crear (des de zero) i editar: cursos, cicles, mòduls professionals (MPs) i unitats formatives (UFs).
- Importar cicles sencers (amb MPs i UFs) de plantilles predefinides. El cas més comú és per afegir un nou cicle. Els plans d'estudi s'ajustarien després amb la funcionalitat anterior.
- Importar les dades dels nous alumnes admesos al centre per cada cicle.
- Importar els expedients acadèmics dels alumnes amb els mòduls i UFs aprovats per tal de facilitar la seva matriculació.
- Crear requeriments de documents que l'alumne ha d'aportar per formalitzar la matrícula.
- Crear perfils de requeriments per aplicar a diversos casos (CFGM, CFGS, ESO, BAT, menors d'edat, etc).
- Obrir i tancar l'accés dels alumnes al portal de matriculació.
- Enviar email d'invitació als alumnes per tal que comencin el procés de matriculació. Aquest enviament pot ser en massa (per a tots els alumnes, per cicle o per curs d'un cicle), o individualitzat.
Els usuaris alumnes han de poder:
- Accedir al portal mitjançant el correu electrònic subministrat a la inscripció. Abans requerirà que recuperin contrasenya via email.
- Rebre un email d'invitació a formalitzar la matrícula.
- Seleccionar els MPs i les UFs a matricular-se.
- Oferir un total del preu de la matrícula (pels CFGS) en base als MPs i UFs.
- Bloquejar els MPs i UFs superades per evitar que es matriculi de nou.
- Pujar els documents requerits per formalitzar la matrícula.
- Mostrar un estat de la matrícula amb una interfície adequada (tipus semàfor en vermell, taronja i verd), que faciliti l'alumne saber quins requeriments té pendents per tal de finalitzar el procés de matriculació.
Els documents requerits han de ser revisats i validats pel PAS. Només després d'aquest pas final l'alumne tindrà la llum verda final de la matrícula.
Opcionalment es contemplen les següents funcionalitats:
- Social login per als alumnes (Gmail, Hotmail/Outlook, etc.)
- Social login per als admins (xtec)
- Simulació de visualització de rol alumne per part dels admins.
Fase 1: core
Als 2 primers sprints hem implementat el projecte base en Laravel, BD, migracions, taules i les primeres funcionalitats. Tots els equips han desenvolupat totes les specs.
Ho podeu llegir a https://scrum.ieti.cat/scrum/projecte/10
BACKLOG Fase 2
Transversals - missatges flash per TOT - responsive TOT
Producció
- social login google+microsoft - login estàndard amb codi d'un sol us via email - posta en prod Heroku - posta en prod AWS - càrrega de docs/imatges versió DB. assegurar que carreguen imatges grans. - càrrega de docs/imatges versió FILESYSTEM. - documentar posta en producció
API & +
- documentar totes les API a la Wiki del projecte - APIs per app mòbil - login alumne - selecció perfil de requeriments - autoritzacions/acceptació de polítiques de privacitat - selecció de UFs - càrrega d'arxius (i canvi d'estat) - enviament de notificacions (sol·licitud de canvi de dades personals, incidències, etc.)
- social login per mobile app - test APIs - versió amb taules separades per admins i alumnes
Admin panel
- CRUD complert alumnes (sense AJAX) - CRUD complert admins (sense AJAX) - CRUD complert de Perfils de requeriments i requeriments (sense AJAX)
- llistat alumnes amb filtres per: cicle, nom, cognom1, cognom2, estat matrícula
- ordenar per diferents criteris - visualització de documents carregats - panell de revisió de documentació carregada. Quan un alumne carrega TOTS els documents, es visualitza en el panell de matrícules a revisar. Es podrà canviar l'estat de doc a OK (verd) o ERROR (vermell) amb COMENTARIS. Quan tota la doc estigui OK s'activarà un botó d'estat total de la matrícula a FET
- gestió de notificacions/incidències: panell de control on es mostren incidències a resoldre. Ha d'estar integrat amb el panell de revisió de la documentació
- enviament emails: (alumnes) - canvi estat doc - nova incidència - nova sol·licitud de canvi de dades - noves respostes
Alumne frontend
per tot: RESPONSIVE
- selecció perfil de requeriments - càrrega de Documentació (versió FILESYSTEM i versió DB) - visualització de documentació i UX clara d'estat de cada Doc i de la matrícula general - q s'entengui q és un semàfor - - enviament de notificacions - sol·licitud de canvi de dades personals - incidències - ...? - autoritzacions/acceptació de polítiques de privacitat - càlcul cost matrícula - selecció d'UFs - pasarel·la de pagament (simulació)
Importació i testing
- tancar importació alumnes admesos - importació dades SAGA (UFs superades) - gestió errors (log/consultable) - tests browser site - documentació testing - CI amb Jenkins
Fase 2: Desenvolupament avançat
Es tria el millor projecte de la Fase 1, i s'utilitza com a base per al desenvolupament posterior.
Cada equip desenvoluparà una part diferent del projecte, per tal d'avançar més ràpid i cobrir més funcionalitats.
Es refaran els equips depenent de les preferències de l'alumnat.
Equips i backlog fase 2
UI + Social Login + posta producció
- social login Google + Microsfot
- posta en producció Heroku
- assegurar càrrega d'imatges
- disseny frontend web alumne
- disseny frontend app mòbil
- disseny backend administració
- missatges flash
API
- implementar funcionalitats que demanin els altres grups
- documentació
- testing
- autenticació API(token)
- CRUDs cursos, cicles, mps, ufs
- CRUD alumnes/matrícules
- CRUD admin users
- Preparar controlador para enviar el mail
- Preparar migracion para añadir columna de estado a los req_enrolments
- Preparar migracion para añadir columna active en las mps y ufs
Dashboard per a l'administrador de l'aplicació (back-of-the-frontend)
- Un admin ha de poder filtrar per: curs (1r/2n, desplegable), cicle (autocompletar), cognom1, cognom2, nom, estat matrícula (tots els docs estan pujats o no, vàlids o no...)
- Ordenar/invertir ordre per un sol criteri
- Un admin ha de poder editar o actualitzar dades d'un alumne de les que vénen del SAGA. Només PUT y UPDATE, no podrà mai fer un DELETE
- Perfils de requeriments: en funció de si un alumne marca que es eligible a beques o altres ajudes, se li desbloquejarà en el seu dashboard la posibilitat de penjar els documents pertinents.
- Monoparental: hauria de presentar, per exemple, tres documents
- Discapacitat: hauria de presentar, per exemple, 4 documents, una imatge y un identificador digital
- etc
> Aquest documents, després, es validaran en el dashboard de l'admin. Es mostraran totes les dades de l'usuari, a més de l'estat de cada document pujat. Els documents pujats varien en funció del perfil de requeriment seleccionat desde el dashboard d'alumne. Per a això:
- L'admin ha de poder descarregar-se una còpia dels documents adjuntats.
- Després, revisarà manualment la validesa dels documents.
- Després, marcarà quins estan OK i quins no. Guardarà els canvis.
- Llavors s'enviarà un mail automatitzat donant un OK o un KO. En cas de KO, agafarà de manera automàtica els camps que estiguin malament, i ho escriurà en el cos del mail.
- Després, marcarà quins estan OK i quins no. Guardarà els canvis.
- Després, revisarà manualment la validesa dels documents.
En el dashboard, hi haurá una sèrie de pistes visuals que indicaran a l'admin l'estat de la solicitud de matrícula de cada alumne.
- gris: no enviat cap document enviat
- taronja: document(s) enviat(s) pendent de revisió. Cap la possibiltat que l'usuari només hagi pujat una part de tots els documents!!
- verd: revisat ok
- vermell: revisat error
Documents que s'hauran d'adjuntar, en funció dels perfil triat:
- Obligatoris: DNI/NIE, targeta sanitaria, resguard del títol, pagament
- Menor: DNI pares, llibre de família / partida naixement
- Perfils pagament superior:
- Família nombrosa: carnet de família nombrosa
- Família monoparental
- Beca
- Discapacitat
- Alumne tutelat
- Beneficiari de la RMI
alumne frontend
- dashboard
- selecció UFs
- selecció perfil de req.
- càlcul cost matrícula
- estat dels docs enviats
- estat de la matrícula
- correcció dades personals
- ????
POT CANVIAR: direcció, telèfons, - NO POT CANVIAR: DNI, NIE, Nom, Cognoms
- ????
- sol·licitud de canvis de dades
- versió mòbil
- simulació pasarela de pagament
- Autoritzacions (radio button, obligatori):
- autorització drets d'imatge (tots)
- autorització sortides (menors)
- sortides extraescolars (menors)
Càlcul preu de la matrícula:
- CFGM (curs sencer)
- >28 : assegurança a part de l'escolar 105,38€
- <28 : 86,50€
- CFGM (per MPs)
- 10€/MP + asseg. escolar (<28 1,12€, >28 20€)
- CFGS
- curs sencer:
- <28 anys: 360,00 € + 65 (material) + 1,12 € (asseg.)
- >28 anys: 360,00 € + 65 (material) + 20 € (asseg.)
- bonificació 50% (fam. nombrosa/monoparental/beca)
- <28 anys: 180 € + 66,12 €
- >28 anys: 180 € + 85 €
- exempció: (fam. nombrosa/minusvalia/víctimas terr./privats de llibertat/...)
- <28 anys: 66,12 €
- >28 anys: 85 €
- CFGS per UFs:
- 25 €/UFs (sin bonif.)
- 12,5 €/UFs (con bonif.)
- 1,12 €/20€ assegurança
- 10€ material si només son UFs de 1 MP
- 65 € material si son UFs de >1 MPs
- curs sencer:
Pagament fraccionat CFGS:
- 1a fracció 1/2 del preu públic (360/180) + material+asseg. (66,12/85)
- 2a fracció 1/2 del preu públic
importació i testing
- importació alumnes admesos (manteniment)
- importació dades SAGA (UFs superades)
- gestió dels errors d'importació:
- fitxer de sortida amb registre d'errors (per a ser corregits i reimportats)
- matrícules duplicades: es sobreescriuen si son del mateix any i mateix cicle
- importació cicles duplicats: preguntar
- testing de la site
Apèndix
Ramas:
- x Pre
- x Pro
- x Integración
- Una rama por cada alummno
- Una rama por cada funcionalidad
- Una rama para CRUD
- Una rama para CSS
Proceso de dailys
1 Daily de cada equipo 2 Daily de representantes de equipos, con dudas de los dailys de cada equipo 3 Se solucionan dudas (y nuevas preguntas) a los equipos otra vez 4 Última resolución, idealmente...
Nomenclatura de los JSON cuando se estén intercambiando datos
- Cuando se pidan datos a API, y API los devuelva, enviará un array de JSON, cuyas claves serán los nombres de las columnas
- Cuando se envíen datos a API desde el frontend, por ahora hay que hablar con el equipo de API y pactar la convención de nombres. Quizás en el futuro bastará con los nombres de las columnas también a la hora de enviar datos.
- Recordar usar verbos HTTP adecuados