arrow_backTornar a la llista de projectes

Biblioteca Maricarmen v2

Centre: Institut Esteve Terradas i Illa (Cornellà de Llobregat)

Cicle: Desenvolupament d'aplicacions web

Inici: 3 de abril de 2025

Final: 12 de maig de 2025

Mòduls Professionals implicats

MP06 Desenvolupament web en entorn client
MP07 Desenvolupament web en entorn servidor
MP08 Desplegament d'aplicacions web
MP09 Disseny d'interfícies web

Descripció

Els sprints son irregulars:

  1. Del 3/4 al 10/4 : (1 setmana => 5 dies), planning i review en dijous (el clàssic)
  2. Del 10/4 al 25/4 : (7 dies de treball) review en divendres. Setmana santa pel mig
  3. Del 25/4 al 12/5 : (6 dies de treball) acabem en dilluns! Pont del treballador pel mig

Volem una aplicació per gestionar la biblioteca del centre, que porta el nom de Mari Carmen Brito en homanatge pòstum a la companya d'informàtica i sots-directora d'FP que va portar el centre a uns alts estàndards de qualitat.

Partirem d'un projecte base de gestió de la biblioteca Mari Carmen Brito amb un model ja preparat en Django 4.2 per a la gestió del seu fons documental. Les seves característiques principals son:

  1. Models: catàleg, llibres, revistes, dispositius (ulleres VR), CDs, DVDs, exemplars, etc.
  2. Gestionarà prèstecs i reserves d'exemplars.
  3. ULL: té un model base Cataleg del què deriven els models concrets per a Llibre, Revista, Dispositiu, CD, etc.
  4. L'usuari està personalitzat derivat de AbstractUser.
  5. Només té l'Admin Panel, no té cap view implementada.
  6. Té una cerca per ISBN a l'API de OpenLibrary.
  7. Té un lector de codis de barres i QR que funciona si emprem el navegador Chrome.

L'alumnat clonarà el projecte base i es realitzaran els diferents desenvolupaments. Aquests s'incorporaran al projecte base mitjançant PR (pull requests) de Github.

Definirem 4 rols d'usuari:

  1. Administrador: (superadmin) només per als desenvolupadors/administrador de site.
  2. Bibliotecari: pot entrar a l'admin panel amb permisos limitats i operar sobre la biblioteca d'un centre.
  3. Usuari: no té accés a admin panel. Funcions limitades al frontend.
  4. Usuari anònim: qualsevol visitant de la web sense autenticar.

 

  • sprint #1

    Inici: 3 de abril de 2025

    Final: 10 de abril de 2025

    Hores estimades totals: 33,0

    • MP09 Disseny d'interfícies web: 7 specs (70%), 24,0 hores (72,7%)
    • MP06 Desenvolupament web en entorn client: 5 specs (50%), 17,0 hores (51,5%)
    • MP07 Desenvolupament web en entorn servidor: 6 specs (60%), 21,0 hores (63,6%)
    • MP08 Desplegament d'aplicacions web: 1 specs (10%), 4,0 hores (12,1%)
  • 1. Crear look & feel de la pàgina

    Documentar-ho a la wiki.

    hores estimades: 4,0 Mòduls: MP09

  • 2. Login usuari + Dashboard segons rol d'usuari

    Com a: Administrador/Bibliotecari/Usuari

    Vull: logar-me al frontend i visualitzar un Dashboard amb les opcions disponibles, incloent la modificació del perfil.

    Per a: tenir accés a les funcions que el rol d'usuari em permet.

    Criteris d'Acceptació:

    1. Wireframes a la wiki del repositori.
    2. Login al frontend.
    3. Menú principal i accés al perfil d'usuari.
    4. Els administradors poden accedir a l'admin panel (login segregat).
    5. Els no-admins no poden entrar a l'admin panel.
    6. Missatge d'error adequat (no mostrar detalls).

    Definition of Done:

    1. Es pot logar amb 3 usuaris amb els 3 rols diferents i es distingeixen el Dashboard.
    2. Els admins podem logar-se a l'admin panel.
    3. Documentació a la wiki del projecte.

     

    hores estimades: 4,0 Mòduls: MP06 MP07 MP09

  • 3. Importació massiva d'usuaris

    Com a: Administrador o Bibliotecari

    Vull: importar múltiples usuaris desde un arxiu CSV

    Per a: registrar ràpidament tot l'alumnat i professorat

    Criteris d'Acceptació:

    1. Càrrega de CSV vàlida
    2. Validació d'errors
    3. Resum després de la importació

    Definition of Done:

    1. Importació de 10 usuarios de prova
    2. Validació + missatge
    3. Documentació del format CSV

    hores estimades: 4,0 Mòduls: MP06 MP07 MP09

  • 4. Seeder per a testing

    Crear un seeder per poblar la base de dades amb dades d'exemple suficients per avaluar la correcció de les cerques i altres funcionalitats.

    Haurà d'incloure elements de tots els tipus del catàleg, amb autors que tindran diverses obres i amb diferents exemplars.

    Haurà d'incloure usuaris amb reserves i préstecs de diferents exemplars.

    hores estimades: 2,0 Mòduls: MP07

  • 5. Desplegament sobre servidor + customització 404 i 403

    Desplegar el projecte Django/React en un servidor públic (subministrat pel centre).

    Imprescindible utilitzar MySQL en el desplegament. Veure les indicacions als apunts de bytes.cat.

    Caldrà dissenyar amb el look&feel del projecte les pàgines 404 i 403.

    hores estimades: 4,0 Mòduls: MP08

  • 6. Cerca del catàleg a la Landing Page

    Com a: usuari anònim (sense logar).

    Vull: introduir cadenes de cerca simultània per títol i autor.

    Per a: obtenir llistat d'elements del catàleg que compleixin el criteri de cerca, i una fitxa de detall d'element amb les dades complertes al seleccionar l'element del catàleg.

    Criteris d'acceptació:

    1. Wireframes a la documentació.
    2. Amb menys de 3 lletres el camp de text es comporta normalment. A l'enviar el text passarà a la pàgina de llistat de resultats.
    3. Quan es seleccciona un element del llistat es mostra la vista de detall de l'element del catàleg.
    4. Autocompletar: a partir de 3 lletres es mostrarà automàticament els 5 millors resultats de la cerca amb possibilitat de seleccionar directament l'element del catàleg.

    Definition of Done:

    1. Comprovar la validesa del filtre amb exemples demostratius.
    2. Missatge adequat si no hi ha cap element que compleixi els criteris de cerca.

     

    hores estimades: 5,0 Mòduls: MP06 MP07 MP09

  • 7. Exemplar disponible per defecte i pertany a un centre

    Com a: Bibliotecari

    Vull: que en registrar un exemplar estigui disponible per a préstec per defecte, i que l'exemplar tingui un centre assignat.

    Per a: evitar errors en crear nous exemplars

    Criteris d'acceptació:

    1. Camp 'exclòs de préstec' per defecte: False
    2. Al crear un nou exemplar, s'assigna per defecte al centre de l'usuari bibliotecari que està connectat.
    3. El bibliotecari pot editar els exemplars des d'un inline de l'element del catàleg, que filtra i només li deixa veure els exemplars del seu centre.
    4. El superususari sí que pot editar tots els camps dels exemplars a l'admin panel.

    Definition of Done:

    1. Confirmació amb diversos exemplars
    2. Visible a la interfície de l'admin panel.
      (Serà aplicable al futur a les specs pertinents de frontend.)

    hores estimades: 3,0 Mòduls: MP07 MP09

  • 8. Afegir número de telèfon als usuaris

    Com a: Bibliotecari (admin panel) / Usuari (perfil dashboard)

    Vull: afegir el número de telèfon a les dades de l'usuari.

    Per a: poder contactar-los fàcilment.

    Criteris d'acceptació:

    1. Camp visible al formulari i fitxa a l'admin panel (bibliotecari pot editar tots els camps).
    2. Camp visible al perfil d'usuari del frontend (usuari només pot editar telèfon, email i avatar).
    3. Validació de format en ambdós casos.

    Definition of Done:

    1. Validació correcta
    2. Camp actiu en interfície
    3. Registre a la BD

    hores estimades: 3,0 Mòduls: MP06 MP07

  • 9. [NS] Afegir Google Analytics i Google Search Console. Tots els participants del grup tindran accés a les dades.

    hores estimades: 1,0 Mòduls: MP06 MP09

  • 10. Crear un banner (GIF) 600X160 publicitant la biblioteca. Cal que apareguin al footer de tota la zona pública.

    hores estimades: 3,0 Mòduls: MP09

  • sprint #2

    Inici: 10 de abril de 2025

    Final: 25 de abril de 2025

    Hores estimades totals: 33,0

    • MP06 Desenvolupament web en entorn client: 5 specs (62,5%), 26,0 hores (78,8%)
    • MP07 Desenvolupament web en entorn servidor: 7 specs (87,5%), 30,0 hores (90,9%)
    • MP08 Desplegament d'aplicacions web: 2 specs (25%), 13,0 hores (39,4%)
    • MP09 Disseny d'interfícies web: 4 specs (50%), 21,0 hores (63,6%)
  • 11. MOTXILLA sprint #2

    Demandes particulars del client:

    1. Posar el nom "Maricarmen Brito" complert a la web.
    2. Tota la interfície ha de ser en català.
    3. En la cerca del catàleg, mostrar els detalls de la quantitat d'exemplars (exclosos, no exclosos). Si un exemplar està de baixa no es compta ni per exclòs ni no exclòs. En el detall del catàleg s'ha de mostrar en quins centres hi ha els exemplars.
    4. Posar colors adients als missatges d'error (vermell) i d'èxit (verd).
    5. Si no s'ha posat res a la cerca, no ha de sortir cap llibre.

     

    hores estimades: 10,0 Mòduls: MP06 MP07 MP08 MP09

  • 12. Cerca de dades editorials des d'altres APIs

    Com a: Bibliotecari a l'admin panel

    Vull: cercar informació editorial d'un llibre usant l'ISBN

    Per a: completar automàticament les dades del catàleg

    Criteris d'acceptació:

    1. Consultar almenys dues API externes
    2. Completar editorial, autor, títol i resta de dades possibles si hi ha coincidència
    3. Fallback si Open Library falla

    Definition of Done:

    1. Integració en interfície
    2. Test de funcionalitat
    3. Documentació d'APIs usades

    hores estimades: 3,0 Mòduls: MP06 MP07

  • 13. Canviar Cicle per Grup

    Com a: Administrador

    Vull: utilitzar 'Grup' en lloc de 'Cicle'. Aquest 'Grup' és propi de l'app i no té res a veure amb els grups de Django per gestionar permisos.

    Per a: organitzar millor els usuaris

    Criteris d'acceptació:

    1. Camp principal: Grup
    2. Cicle com a etiqueta
    3. Filtre per tots dos

    Definition of Done:

    1. BD adaptada
    2. Formulari actualitzat
    3. Tests amb diferents combinacions

    hores estimades: 1,0 Mòduls: MP07

  • 14. Autocompletat d'autor i editorial

    Com a: Bibliotecari a l'admin panel

    Vull: autocompletar autor i editorial en registrar un llibre

    Per a: agilitzar l'alta

    Criteris d'acceptació:

    1. Suggeriments en escriure
    2. Dades de registres o APIs

    Definition of Done:

    1. Actiu en camps corresponents
    2. Verificat amb dades reals

    hores estimades: 3,0 Mòduls: MP06 MP07 MP09

  • 15. Bibliotecari pot registrar un préstec

    Com a: Bibliotecari al frontend

    Vull: buscar exemplar i efectuar préstec.

    Per a: registrar.

    Criteris d'acceptació:

    1. El bibliotecari pot veure un botó "prestar" a la cerca del catàleg, si l'exemplar està a la meu centre.
    2. Cerca d'usuari per nom, cognom, email, telèfon, username.
    3. Permet realitzar el préstec.

    Definition of Done:

    1. Verificat amb dades reals

    hores estimades: 5,0 Mòduls: MP06 MP07 MP09

  • 16. Afegir DARK MODE al web i media query "prefers-color-scheme", ha d'activar-se ja sigui automaticament o manualment

    hores estimades: 3,0 Mòduls: MP09

  • 17. Usuari: historial de préstecs

    Com a: Usuari al frontend

    Vull: historial de préstecs anteriors i actuals

    Per a: portar un control del meu historial.

    Criteris d'acceptació:

    1. L'usuari pot accedir a l'historial de préstecs pel Dashboard
    2. Es destaquen els préstecs en curs.
    3. Es visualitzen tots els préstecs.
    4. Estan paginats si cal.

    Definition of Done:

    1. Verificat amb dades reals.

     

    hores estimades: 5,0 Mòduls: MP06 MP07

  • 18. Revisar problemes d'API en producció

    Assegurar la posada en producció

    hores estimades: 3,0 Mòduls: MP07 MP08

  • sprint #3

    Inici: 25 de abril de 2025

    Final: 12 de maig de 2025

    Hores estimades totals: 0

arrow_backTornar a la llista de projectes