Canvi de rol del xatbot
Inicialment, el xatbot estava configurat com un entrenador personal per a rutines esportives. Tot i això, per adaptar-lo a les necessitats de la LAN Party de Castellbisbal, n’hem redefinit completament la identitat i el propòsit.
Per aconseguir-ho, he creat una Gem personalitzada a Gemini configurada específicament per assistir-me en el desenvolupament del projecte. Mitjançant aquesta eina, he dissenyat un nou system prompt que transforma el xatbot en un assistent tècnic especialitzat per a l’esdeveniment.
El prompt que m’ha dit la IA és el següent:
Actua com un Expert en Desenvolupament de Xatbots i Tutor de SMX (Sistemes Microinformàtics i Xarxes). La teva única missió és ajudar-me a transformar un antic xatbot d’entrenament físic en un Assistent Tècnic de la LAN Party de Castellbisbal.
Les teves responsabilitats són:
Filtre de context: Només m’has de donar respostes relacionades amb la creació d’aquest xatbot (Python, Flask, JSON, configuració de l’API de Gemini). Si et demano coses d’esport, recorda’m que ara som a la LAN Party.
Codi Professional: Quan generis codi, inclou sempre comentaris tècnics que expliquin la lògica (per al portafolis de PRO+).
Suport en Documentació: Ajuda’m a redactar el
README.md, elCHANGELOG.mdi elCONTRIBUTING.mdbasant-te en els canvis reals que anem fent.Identitat de l’Assistent: Ajuda’m a dissenyar el ‘System Prompt’ final que farà que el xatbot respongui com un tècnic amable però expert que sap tot sobre les FAQs de la LAN (horaris, xarxa, normativa, tornejos).
To de veu: Vull que siguis un col·laborador tècnic de l’equip. Utilitza un llenguatge professional però directe, propi d’un entorn de cicle formatiu de grau mitjà
Creació del GEM
El resultat ha sigut el següent:
# 📌 Registre de Canvis (CHANGELOG)
**Projecte:** Assistent Tècnic LAN Party EcoTech 2026
**Grup:** Equip 3 – SMX Castellbisbal
—
## [1.4.0] – 2026-03-18
### 🔄 Reorientació de Projecte
– **Canvi d’Identitat:** Transició integral del xatbot: de ‘Fitness Coach’ a **Assistent Tècnic Oficial de la LAN Party**.
– **Context Geogràfic:** Configuració del `System Prompt` amb dades reals de l’esdeveniment al Pavelló **Els Costals** (Castellbisbal).
– **Horaris d’Esdeveniment:** Implementació de la finestra temporal del 10 al 12 d’abril de 2026.
### 🛠️ Desenvolupament Tècnic
– **Nou Motor d’IA:** Migració a la llibreria `google-genai` per utilitzar el model `gemini-2.0-flash`.
– **Filtre de Context:** Implementació de restriccions per evitar que el bot respongui sobre temes aliens a la LAN Party (esport, cuina, etc.).
### 🔒 Seguretat
– **Protecció de Claus:** Substitució de claus d’API exposades per la funció `google.colab.userdata.get()` per a una gestió segura de secrets.
—
## [1.3.0] – 2026-03-16
### ✨ Afegit
– **Base de dades de FAQs:** Incorporació de tota la informació logística (alimentació, descans, normativa tècnica).
– **Interfície Web:** Creació del fitxer `widget.html` amb CSS personalitzat per a la integració en entorns web.
– **Suport Multilingüe:** Configuració per a respostes en Català, Castellà i Anglès.
### ⚙️ Millores
– **Ajust de Paràmetres:** Reducció de la *temperature* a `0.3` per minimitzar al·lucinacions i augmentar la precisió tècnica.
– **Documentació:** Estructuració professional del `README.md` i `CONTRIBUTING.md`.
—
## [1.2.0] – 2026-03-05
### 🏗️ Estructura inicial
– Creació del repositori oficial a **GitHub Classroom**.
– Primers esbossos de la lògica de control en Python.
### 🛠️ Corregit
– Resolució de problemes de sincronització entre GitHub i Google Colab.
—
## [1.1.0] – 2026-02-20
### ✨ Millores
– Optimització inicial de les crides a l’API i neteja de codi redundant.
README
PROMPT:
Ara he de fer el mateix, però actualitzant l’us de la IA en l’arxiu README, perquè així els meus companys o altres persones puguin entendre el seu treball en la creació del Xatbot, explica que he utilitzat Gemini com a copilot de programació, refinant els prompts per fer el pivot cap a l’assistent de la LAN Party EcoTech i fixant dades reals (Els Costals, Castellbisbal) per evitar al·lucinacions del model. Menciona que la IA m’ha ajudat a depurar errors de codi i a implementar bones pràctiques de ciberseguretat, com amagar la clau API utilitzant els secrets de Google Colab i justifica que he fet servir la IA per redactar aquest README i el CHANGELOG, ja que són eines de comunicació essencials per garantir l’escalabilitat, la traçabilitat i el manteniment del projecte a llarg termini.
RESULTAT:
# 🤖 Assistent Tècnic LAN Party EcoTech 2026
**Repte:** 1.3 SMX Party | **Equip:** 3 (Iker, Edgar i Luca)
**Contacte:** [smx.r13.e4@inscastellbisbal.net](mailto:smx.r13.e4@inscastellbisbal.net)
—
## 📖 Descripció
Xatbot intel·ligent dissenyat com a assistent tècnic oficial per a la **LAN Party EcoTech 2026** a Castellbisbal. L’eina està construïda amb un **Backend en Python** (utilitzant l’API de Gemini) i un **Frontend** en HTML/JavaScript integrat com a widget.
L’assistent està entrenat per respondre dubtes logístics i tècnics basant-se en una base de dades **JSON** personalitzada.
## 🎯 Objectius del Projecte
* **Identitat i Rol:** Desenvolupar un bot amb un perfil d’expert en SMX, amable i precís.
* **Integració Web:** Implementar el bot com a widget funcional en entorns de producció (WordPress/Google Sites).
* **Gestió de Dades:** Treballar amb formats JSON i Markdown per a la traçabilitat de la informació.
## 🤖 Metodologia i Ús de la IA Generativa
Aquest projecte integra la IA no només com a motor de respostes, sinó com a **copilot de desenvolupament**:
1. **Prompt Engineering:** Hem refinat les instruccions de sistema per fer el “pivot” de l’antic model de fitness cap a l’assistent de la LAN, fixant dades reals (Els Costals, Castellbisbal) per evitar al·lucinacions.
2. **Depuració de Codi:** Ús de la IA per identificar errors de sintaxi i optimitzar la lògica del xat.
3. **Ciberseguretat:** Implementació de bones pràctiques mitjançant l’ús de **Secrets de Google Colab** (`userdata.get`) per protegir la API Key.
4. **Documentació:** Generació d’aquest README i del CHANGELOG per garantir l’escalabilitat i el manteniment a llarg termini.
## 📦 Estructura del Repositori
* `src/`: Conté el `main.ipynb` (lògica del Backend).
* `frontend/`: Fitxers `index.html` i CSS per al widget.
* `docs/`: Documentació oficial (**README**, **CHANGELOG**, **CONTRIBUTING**).
* `data/`: Base de dades JSON amb les FAQs de la LAN.
## 🔧 Instal·lació i Configuració
1. **API Key:** Obte una clau a [Google AI Studio](https://aistudio.google.com/).
2. **Seguretat a Colab:** Afegeix la clau als “Secrets” de Google Colab amb el nom `GEMINI_API_KEY`.
3. **Dependències:** Instal·la la llibreria actualitzada: `pip install -q -U google-genai`.
## 👨💻 Contribució
Si vols col·laborar en el projecte, revisa les guies de l’arxiu `CONTRIBUTING.md`.
CONTRIBUTING
PROMPT:
Tinc aquest text en el fitxer contributing.md
🚀 Com pots contribuir?
Serveix
com a guia per a les persones que volen ajudar, explicant des de com
informar d’un error fins a com enviar canvis en el codi.
1. Informar d’errors (Bugs)
Si trobes algun problema, si us plau, obre un Issue a GitHub:
Fes servir un títol descriptiu.
Explica els passos per reproduir l’error.
2. Suggerir funcionalitats
Vols
veure alguna cosa nova? Estem encantats d’escoltar-te! Obre un Issue
amb l’etiqueta enhancement i explica per què creus que la funcionalitat
seria útil.
3. Enviar canvis (Pull Requests)
Per contribuir amb codi, segueix aquest flux de treball:
Fes un Fork del repositori.
Crea una branca nova per a la teva millora.
Fes els teus canvis i assegura’t que el codi segueix l’estil del projecte.
Fes un Commit clar i concís.
Fes un Push a la teva branca.
Obre una Pull Request (PR) explicant els canvis que has fet.
4. 🤝 Codi de Conducta
En
participar en aquest projecte, acceptes complir el nostre Codi de
Conducta, que fomenta un ambient respectuós i inclusiu per a tothom.
Necessito que el milloris amb un to més tècnic i professional afegint un apartat de ‘Regles a seguir’ amb 3 punts clau: 1. Prohibit fer hardcoding de la API Key (obligatori usar userdata.get). 2. Comentar amb # el codi generat per IA i revisar-lo manualment. 3. Utilitzar estàndards de commits (feat, fix, docs). Dóna’m el document sencer en Markdown.”
RESULTAT:
# 🚀 Guia de Contribució (CONTRIBUTING)
Primer de tot, gràcies per voler formar part de l’**Equip 3** i ajudar a millorar l’Assistent de la LAN Party EcoTech 2026. Per mantenir la qualitat i la seguretat del projecte, demanem a tots els col·laboradors que segueixin aquestes directrius.
## ⚖️ Regles Tècniques Obligatòries
Per garantir la integritat del codi i la seguretat del sistema, tot col·laborador ha de complir estrictament aquests tres punts:
1. **🚫 Prohibició de Hardcoding:** Està totalment prohibit escriure la API Key directament al codi font. S’ha d’utilitzar obligatòriament el mètode `google.colab.userdata.get(‘NOM_DE_LA_CLAU’)` per cridar les credencials des dels secrets de l’entorn.
2. **🤖 Supervisió de la IA:** Tot el codi generat mitjançant eines d’IA (com Gemini o Copilot) ha d’anar acompanyat de comentaris tècnics iniciats amb `#` que expliquin la lògica de la funció. És obligatori realitzar una revisió manual (*Peer Review*) abans de pujar el codi per evitar al·lucinacions o errors de sintaxi.
3. **Standard Commits:** Els missatges de commit han de seguir l’estàndard de la indústria per facilitar la traçabilitat del `CHANGELOG`:
* `feat:` per a noves funcionalitats (Ex: `feat: afegit suport per a JSON de normativa`).
* `fix:` per a correccions d’errors (Ex: `fix: corregit error en el widget de xat`).
* `docs:` per a canvis en la documentació (Ex: `docs: actualitzat el manual d’usuari`).
—
## 🛠️ Flux de Treball (Workflow)
Si vols enviar canvis en el codi, segueix aquest procediment tècnic:
1. **Fork & Branch:** Fes un *Fork* del repositori oficial i crea una branca nova descriptiva per a la teva millora (Ex: `feature-v1.4-identitat`).
2. **Desenvolupament:** Realitza els canvis assegurant-te que el codi segueix l’estil de programació del projecte (comentaris en català, identació correcta).
3. **Push & PR:** Fes un *Push* a la teva branca i obre una *Pull Request* (PR) detallant:
* Quin problema soluciona o quina millora aporta.
* Proves realitzades per verificar que el codi funciona.
## 🐛 Informe d’Errors i Suggeriments
* **Bugs:** Si detectes un comportament inesperat, obre un *Issue* amb l’etiqueta `bug`. Inclou el log d’error de la consola de Python i els passos per reproduir-lo.
* **Millores:** Per proposar noves idees, obre un *Issue* amb l’etiqueta `enhancement` i justifica el benefici tècnic o d’usuari de la proposta.
## 🤝 Codi de Conducta
Com a membres de la comunitat SMX, ens comprometem a mantenir un ambient de col·laboració respectuós, inclusiu i professional en tot moment.
Després de fer modificacions i comentar el text, el codi queda així.