diff --git a/network-poc/static/index.html b/network-poc/static/index.html index 8dc47d2..00f6adf 100644 --- a/network-poc/static/index.html +++ b/network-poc/static/index.html @@ -5045,37 +5045,38 @@ uv run python crew.py "FastAPI + SQLite CRUD API" // ── Hahmogalleria ── (function renderGallery() { const ALL_AVATARS = [ - { file: 'kipina_notext.png', name: 'Salamanteri', role: 'Koodari' }, - { file: 'karhunpentu.png', name: 'Karhunpentu', role: 'Manageri' }, - { file: 'kettu_notext.png', name: 'Kettu', role: 'Asiakas' }, - { file: 'pesukarhu_notext.png', name: 'Pesukarhu', role: 'Data' }, - { file: 'susi_notext.png', name: 'Pikkususi', role: 'QA' }, - { file: 'laiskiainen_notext.png', name: 'Laiskiainen', role: 'DevOps' }, - { file: 'aikuinen_susi.png', name: 'Aikuinen susi', role: 'Tarkkailija' }, - { file: 'gecko_notext.png', name: 'Gecko', role: 'Tofuist / IaC' }, - { file: 'bear.png', name: 'Karhu', role: '' }, - { file: 'beaver.png', name: 'Majava', role: '' }, - { file: 'chameleon.png', name: 'Kameleontti', role: '' }, - { file: 'elephant.png', name: 'Norsu', role: '' }, - { file: 'gecko.png', name: 'Gecko v2', role: '' }, - { file: 'lion.png', name: 'Leijona', role: '' }, - { file: 'mantis.png', name: 'Rukoilijasirkka', role: '' }, - { file: 'owl.png', name: 'Pöllö', role: '' }, - { file: 'penguin.png', name: 'Pingviini', role: '' }, - { file: 'serpent.png', name: 'Kyy', role: 'DevSecOps' }, - { file: 'spider.png', name: 'Hämähäkki', role: '' }, - { file: 'tortoise.png', name: 'Kilpikonna', role: '' }, - { file: 'walrus.png', name: 'Mursu', role: '' }, + { file: 'kipina_notext.png', name: 'Salamanteri', role: 'Koodari', desc: 'Kipinä-tiimin sydän. Tulinen koodari joka liikkuu ketterästi koodikantojen halki ja sytyttää projektit käyntiin.' }, + { file: 'karhunpentu.png', name: 'Karhunpentu', role: 'Manageri', desc: 'Utelias ja päättäväinen tiiminvetäjä. Pilkkoo isot projektit hallittaviksi tehtäviksi ja pitää tiimin kasassa.' }, + { file: 'kettu_notext.png', name: 'Kettu', role: 'Asiakas', desc: 'Ovela tuoteomistaja joka tietää mitä haluaa. Määrittelee vaatimukset ja priorisoi ominaisuudet.' }, + { file: 'pesukarhu_notext.png', name: 'Pesukarhu', role: 'Data', desc: 'Näppäräsorminen tietokantaguru. Pesee datan puhtaaksi, suunnittelee skeemat ja optimoi kyselyt.' }, + { file: 'susi_notext.png', name: 'Pikkususi', role: 'QA', desc: 'Tarkkasilmäinen laadunvartija. Haistaa bugit kaukaa ja kirjoittaa testit jotka pitävät koodin kurissa.' }, + { file: 'laiskiainen_notext.png', name: 'Laiskiainen', role: 'DevOps', desc: 'Rauhallinen automaatioasiantuntija. Automatisoi kaiken ettei kenenkään tarvitse tehdä turhaa käsityötä.' }, + { file: 'aikuinen_susi.png', name: 'Aikuinen susi', role: 'Tarkkailija', desc: 'Kokenut valvoja joka näkee metsän puilta. Seuraa kokonaisuutta ja varoittaa riskeistä ennen kuin ne realisoituvat.' }, + { file: 'gecko_notext.png', name: 'Gecko', role: 'IaC / Infra', desc: 'Piirilevylisko joka kiipeää infrastruktuurin joka tasolle. OpenTofu, Terraform ja pilvi-arkkitehtuuri ovat sen reviiriä.' }, + { file: 'bear.png', name: 'Karhu', role: 'Arkkitehti', desc: 'Voimakas järjestelmäarkkitehti palvelinräkit selässään. Suunnittelee kantavat rakenteet joiden päälle koko projekti nojaa.' }, + { file: 'beaver.png', name: 'Majava', role: 'CI/CD', desc: 'Ahkera rakentaja CI/CD-työkalut käsissään. Rakentaa putkistot ja automaatiot jotka pitävät koodin virtaamassa tuotantoon.' }, + { file: 'chameleon.png', name: 'Kameleontti', role: 'UI/UX', desc: 'Värejä vaihtava muotoilija UI-elementtien ympäröimänä. Sopeutuu jokaiseen designjärjestelmään ja tekee käyttöliittymistä kauniita.' }, + { file: 'elephant.png', name: 'Norsu', role: 'Tietokannat', desc: 'Piirilevykuvioinen muistimestari joka ei unohda mitään. Tietokantojen skaalaus ja datan eheys ovat sen erikoisalaa.' }, + { file: 'gecko.png', name: 'Gecko v2', role: 'IaC / Infra', desc: 'Vaihtoehtoinen infrastruktuurilisko. Sama IaC-osaaminen, eri visuaalinen tyyli.' }, + { file: 'lion.png', name: 'Leijona', role: 'Tech Lead', desc: 'Majesteettinen tekninen johtaja joka inspiroi tiimiä. Tekee arkkitehtuuripäätökset ja varmistaa teknisen vision.' }, + { file: 'mantis.png', name: 'Rukoilijasirkka', role: 'Code Review', desc: 'Tarkka ja kärsivällinen koodiarvioija. Odottaa hiljaa ja iskee kun näkee bugin — yksikään virhe ei pääse läpi.' }, + { file: 'owl.png', name: 'Pöllö', role: 'Analyytikko', desc: 'Viisas yötyöläinen joka näkee pimeässäkin. Analysoi lokit, metriikat ja suorituskyvyn — löytää vastaukset datasta.' }, + { file: 'penguin.png', name: 'Pingviini', role: 'Linux / Backend', desc: 'Tyylikäs Linux-asiantuntija joka viihtyy kylmässä palvelinhuoneessa. Backend-kehitys ja järjestelmäohjelmointi.' }, + { file: 'serpent.png', name: 'Kyy', role: 'DevSecOps', desc: 'Valpas tietoturva-agentti piirilevykuvioinen keho. Löytää haavoittuvuudet, auditoi koodin ja varmistaa OWASP-yhteensopivuuden.' }, + { file: 'spider.png', name: 'Hämähäkki', role: 'Verkko / API', desc: 'Kutoo monimutkaisia verkkoja — API-rajapinnat, mikropalvelut ja integraatiot ovat sen verkkoa.' }, + { file: 'tortoise.png', name: 'Kilpikonna', role: 'Legacy / Migraatio', desc: 'Hidas mutta varma. Erikoistunut vanhojen järjestelmien modernisointiin ja turvallisiin migraatioihin.' }, + { file: 'walrus.png', name: 'Mursu', role: 'SRE / Ops', desc: 'Raskaan sarjan operaattori panssaroidussa haarniskassa. Pitää tuotannon pystyssä ja vastaa kun pagerduty piippaa.' }, ]; const grid = document.getElementById('gallery-grid'); if (!grid) return; grid.innerHTML = ALL_AVATARS.map(a => { const path = '/avatars/' + a.file; - return `
+ return `
${a.name}
${a.role ? `
${a.role}
` : ''} -
${a.file}
+
${a.desc}
+
${a.file}
`; }).join('');