arrow_backTornar a la llista de projectes

UXIA: assistent intel·ligent d’exposicions

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

Cicle: Desenvolupament d'aplicacions multiplataforma

Inici: 28 de gener de 2026

Final: 25 de febrer de 2026

Mòduls Professionals implicats

MP06 Accés a dades
MP07. Desenvolupament d’interfícies.
MP08 Programació multimèdia i dispositius mòbils.
MP09 Programació de serveis i processos.

Descripció

El projecte UXIA es tracta d’un sistema ­d’acompanyament per exposicions basat en un dispositiu wearable, en aquest cas unes ulleres intel·ligents que disposaran de càmera i altaveus, per tal que ens vagi explicant què estem veient. La imatge de la càmera s’enviarà, mitjançant una app mòbil, als servidors del centre, on disposem de motors de IA que ens retornaran una descripció de l’element exposat. Aquesta IA (Intel·ligència Artificial) caldrà entrenar-la específicament per a reconèixer els elements de l’exposició.

 

El projecte consta de 4 elements:

  1. Wearable ESP32: dispositiu de captura d'imatge i enviament bia BLE.
  2. App Android: es rebran les imatges del wearable per enviar-les al servidor.
  3. App Desktop Flutter: administració del servidor.
  4. NodeJS API Server: Actuarà com a proxy per redirigir les crides a la IA i gestionar la persistència de dades a la BD.

La part de servidor emprarà, a més, els serveis del IETI Cloud:

  1. marIA: servei de IA en un Ollama server executat sobre una GPU.
  2. SMS Gateway: permet enviar SMS a dispositius mòbils.

Documents:

  1. Especificació: Servidor NodeJS
  2. Documentació sobre Proxmox (i SMS)

Repositoris de referència

  1. https://github.com/jpala4-ieti/DAM-M0486-Tema3-RA6-PR4.2-Punt-Partida-25-26
  • sprint #1

    Inici: 28 de gener de 2026

    Final: 4 de febrer de 2026

    Hores estimades totals: 30,0

    • MP06 Accés a dades: 4 specs (57,1%), 22,0 hores (73,3%)
    • MP07. Desenvolupament d’interfícies.: 3 specs (42,9%), 15,0 hores (50%)
    • MP08 Programació multimèdia i dispositius mòbils.: 4 specs (57,1%), 9,0 hores (30%)
    • MP09 Programació de serveis i processos.: 3 specs (42,9%), 15,0 hores (50%)
  • 1. [NS] Crear repositoris de GIT independents per als 3 mòduls del projecte (APP/DESKTOP/SERVER). A tots els repos hi ha d'haver 3 branques: dev, pre i pro

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

  • 2. APP / base i pestanyes

    Crear una aplicació mòbil Android amb barra de navegació inferior amb 3 pestanyes amb icones adequades: Ullada, Historial, Ajustos

    hores estimades: 2,0 Mòduls: MP08

  • 3. APP / AJUSTOS / BLE Device

    A la pestanya AJUSTOS es mostra una llista de dispositius Bluetooth aparellats.

    Quan seleccionem un device, es guarda aquest device (adreça Mac) a un arxiu settings.xml de l'àrea privada de l'app.

    Quan obrim l'app, es carregarà l'adreça Mac del dispositiu configurat, es cercarà el dispositiu Bluetooth i es mostrarà la informació (MAC i nom dispositiu) a la pestanya ULLADA.

    hores estimades: 3,0 Mòduls: MP08

  • 4. APP / ULLADA : recepció d'imatge del ESP32

    Implementar botó per a recepció d'imatge en la pestanya ULLADA, que estarà actiu si el dispositiu Bluetooth ESP32 està connectat.

    Si no hi ha cap dispositiu Bluetooth ESP32 sel·leccionat als Ajustos (settings.xml), el botó estarà deshabilitat i es mostrarà una opció per anar a settings.

    La imatge s'enregistra a l'àlbum UXIA de la Galeria del dispositiu mòbil.

    hores estimades: 3,0 Mòduls: MP08

  • 5. SERVER: Disseny de la BD i implementació de models i relacions amb Sequelize

    Disseny i implementació amb Sequelize de la BD que ha d'incloure: usuaris (amb rol normal i administradors) peticions d'anàlisi i respostes

    Veure el document d'especificació de l'API i les specs disponibles en el backlog per plantejar les entitats i relacions.

    Documentar amb diagrama de la BD a la Wiki de Github.

    hores estimades: 7,0 Mòduls: MP06

  • 6. DESKTOP+SERVER: Creació app Flutter. i autenticació d'usuari administrador

    Implementar l'endpoint d'autentitació /api/admin/usuaris/login a la API. 

    Per accedir a l'aplicació d'administració (Desktop) cal introduir:

    - URL del servidor
    - usuari
    - contrasenya

    La creació d'usuaris (admins) es pot realitzar directament a la bade de dades

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

  • 7. DESKTOP+SERVER Autenticació d'usuari admin amb token

    La URL del servidor es guardarà a l'arxiu settings.xml perquè aparegui directament quan s'obri de nou l'aplicació.

    L'aplicació desktop emmagatzema el token que retorna una autenticació exitosa a l'arxiu settings.xml

    Per cada consulta a l'aplicació enviarà el Token al servidor i aquest validarà que és correcte i l'usuari pot fer aquella consulta (o li denegarà). Pel què fa al Token guardat a la part d'aplicació:

    - Si no existeix l'arxiu 'settings.xml' es mostra el formulari inicial buit (url server, usuari, contrasenya)

    - Si existeix l'arxiu però no té informació de token es mostra el formulari inicial amb la url emplenada

    - No es contempla el cas que existeixi l'arxiu amb informació de token sense informació de servidor

    Des de l'apicació l'usuari ha de poder fer un '/api/admin/usuaris/logout' que esborra la informació del token de l'arxiu settings.xml i fa una crida al servidor perquè esborri també el token associat a l'usuari de la base de dades. Cal especificar i implementar l'endpoint necessari.

    Si fem un logout cal indicar a l'usuari específicament si el logout ha estat correcte (token vàlid) o hi ha hagut error (token invàlid).

    Afegir un botó que faci una crida per comprovar el token /api/admin/usuaris/testtoken

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

  • sprint #2

    Inici: 4 de febrer de 2026

    Final: 18 de febrer de 2026

    Hores estimades totals: 0

  • sprint #22

    Inici: 4 de febrer de 2026

    Final: 18 de febrer de 2026

    Hores estimades totals: 0

  • sprint #3

    Inici: 18 de febrer de 2026

    Final: 25 de febrer de 2026

    Hores estimades totals: 0

  • sprint #33

    Inici: 18 de febrer de 2026

    Final: 25 de febrer de 2026

    Hores estimades totals: 0

arrow_backTornar a la llista de projectes