Fablab Factory etsii opiskelijoita ja freelancereita!

Haluaisitko olla osa tiimiämme, ja onko alla olevassa projektiluettelossa yksi tai useampi sinua kiinnostava projekti? Tämä on mahdollista opiskelijana kesälomien aikana tai vakituisesti vuoden aikana.

Oletko valmistunut ja/tai onko sinulla vankka ohjelmistokehitystaidot (backend, frontend tai laskennallinen geometria), älä epäröi ottaa meihin yhteyttä. Etsimme aina tällaisia profiileja!

Ota meihin yhteyttä käyttämällä alla oleva lomake ja ilmoita, mistä olet kiinnostunut. Portfolio on aina tervetullut!

Tehtävämme

Haluamme tarjota jokaiselle mahdollisuuden tulla tekijäksi - varustettuna tarvittavilla STEAM-osaamisilla (Science, Technology, Engineering, Arts & Mathematics) ja CT-osaamisilla (Computational Thinking).

Toiminta

Fablab Factory perustettiin vuonna 2015, ja alun perin sen tavoitteena oli tarjota kouluille ja muille organisaatioille fablabien perustamiseen tarvittava infrastruktuuri, osaaminen ja koulutus. Vuodesta 2019 alkaen meillä oli myös tarjonta, joka oli suunnattu erityisesti kirjastojen yhteyteen, FabLib syntyi! Vuonna 2019 aloitimme myös kehittyneen digitaalisen oppimisalustan kehittämisen - Opi, tee ja jaa, joka käynnistettiin beta-versiona vuoden 2020 lopussa. Tämän myötä FabLab Factory on hyvää vauhtia matkalla kohti ohjelmistojen EdTech-yritystä (Educational Technology). Syksyllä 2021 lanseeraamme STEAM-paketin koulutukseen. 

Opi Tee Jaa

Jos surffaat learnmakeshare.io, voit kirjautua sinne vieraana.

Tämän LMS-järjestelmän tarkoituksena on antaa kaikille, niin nuorille kuin vanhoillekin, mahdollisuus hankkia päättäjätaitoja. Tätä varten se perustuu kolmeen pilariin: Oppiminen, tekeminen ja jakaminen. Seuraavissa jaksoissa käsittelemme näitä tarkemmin. 

Kehitetty oppimateriaali on tällä hetkellä suunnattu 10-14-vuotiaille nuorille, mutta tarkoituksena on tietysti laajentaa tätä joukkoa täysin.

Tärkeää on, että tämä LMS on ja pysyy beta-versiossa vuoden 2021 loppuun asti.

Ohjelmistohankkeet:

Moodlen sisäänrakennettu WYSIWYG-editori käyttää vanhentunutta tekniikkaa (kirjaimellisesti). Täysin oman editorin käyttöönotto on tällä hetkellä mahdotonta, samoin kuin oman LMS:n rakentaminen. Meidän on siis parannettava nykyistä editoria. Tämä hanke on vaiheittainen.

1. VAIHE I

Hankkeen ensimmäinen vaihe on editorin siistiminen. Tarkemmin sanottuna:

  • Tarpeettomien lisäosien poistaminen
  • Lisäämme "html-siivoojan + muotoilijan", joka muotoilee sisällön reaaliaikaisesti ohjeidemme mukaisesti. On tärkeää, että kaikki komponentit sisältävät oikeat luokat, jotta CSS-ohjelmamme voi tehdä työnsä. Myös oudot rakenteet on poistettava/sovitettava.
  • Tarvittaessa siirrä lisätyt kuvat omalle tiedostopalvelimellemme, jotta käännöspalvelin voi tehdä työnsä.

2. VAIHE II

Tässä vaiheessa editorin pitäisi jo olla hyvä ja puhdas html-ohjelma, mutta se ei ole vielä käyttökelpoinen. Tässä vaiheessa UX:ää käsitellään muuttamalla editori lohkopohjaiseksi editoriksi. Konkreettisesti editori ilmoittaa reaaliajassa, mitä komponentteja voit lisätä. Ainoa tapa lisätä tällainen komponentti on painaa painiketta ja täyttää ponnahdusikkuna.

Edellytykset

  • PHP, Javascript

Tämä projekti käsittelee Learn Make Share -ohjelman Share-osaa. Tarkemmin sanottuna se on (riisuttu) Mahara-instanssi. Se on integroitava Moodlen lisäksi myös ID-palveluntarjoajan ja käännöspalvelimen kanssa. Editoria olisi tarkasteltava (voi olla oma projektinsa), jotta oman portfolion rakentaminen olisi mahdollisimman yksinkertaista.

Edellytykset

  • PHP, Javascript
  • On pystyttävä työskentelemään itsenäisesti asiakirjojen perusteella

Liittyy ehdotukseen DESIGN4: UI/UX E-Portfolio.

Tässä vaiheessa käsitellään 3DSlicerin taustajärjestelmää. Se liitetään API-palvelimiin oauth2-asiakkaana (kuten SVG-editori), jolloin esimerkiksi seuraavat asiat tulevat mahdollisiksi:

  • Merkkeihin perustuvat suojausvaihtoehdot
  • Luettelo käytettävissä olevista koneista
  • Tee gcode välittömästi saataville henkilökohtaiselle asemalle ja koneille, jos olet yhteydessä lähiverkkoon.

Edellytykset

  • Javascript, ...
  • Web-kehitys yleensä

Jokainen Makercart varustetaan lopulta IoT-laitteella, joka muun muassa valvoo koneita. Tällä hetkellä tämä laite synkronoi jatkuvasti (eräänlaisen) julkisen Drive-kansion kanssa ja tarjoaa tiedostoja koneillemme. Ajan myötä tämä ei tietenkään riitä. Tästä voi tulla suuri hanke, joten työskentelemme vaiheittain:

1. VAIHE I

Ensimmäisessä vaiheessa nämä laitteet liitetään API-palvelimiin. Autentikointi tapahtuu erityisesti koneen ja koneen välisen salaisuuden avulla. IoT-laite voi sitten esimerkiksi pitää websocketia auki tietyn päätepisteen kanssa tai tehdä kyselyjä silloin tällöin.

IoT-laitteen on julkaistava koneiden tila ja käyttö jonkinlaiseen kirjauspäätteeseen. Käyttäjät, joilla on asianmukaiset oikeudet, voivat sitten hakea nämä tiedot.

Huomaa, että kone ei toimi henkilökohtaisten tietojen kanssa. Siihen pelkkä koneen ja koneen välinen salaisuus ei ole riittävän turvallinen.

2. VAIHE II

Toisen vaiheen jälkeen on myös mahdollista olla suoraan yhteydessä koneisiin edellyttäen, että sinulla on siihen lupa (esimerkiksi virkamerkkien perusteella) ja että olet yhteydessä lähiverkkoon.

Tätä varten laitteessa on oltava suhteellisen pieni HTTP-palvelin. Nyt käsittelemme henkilötietoja, joten ulkoisella API-palvelimella on myös tärkeä rooli todennuksen kannalta. Tarkemmin sanottuna todennus tehdään osittain automatisoidulla versiolla OpenID Connect -laitevirrasta. Näin ollen on myös kehitettävä mukautettu asiakaspuolen javascript-moduuli, joka ohjaa tätä todennusta.

Esimerkkejä asioista, joiden pitäisi olla mahdollisia vaiheen II jälkeen:

  • Lataa SVG-editoriin skannaus laserleikkureista, joissa on kamera (kuten Beambox).
  • Lähetä tiedostot välittömästi selaimesta (SVG-editori, 3DSlicer, ...) koneisiin.
  • Julkisen aseman sijaan voimme nyt asentaa "henkilökohtaisen aseman". Kun luot G-koodia, tiedosto päätyy automaattisesti kyseiselle asemalle.

Edellytykset

  • Linuxiin liittyvien asioiden hyvä käsittely
  • Javascript, Typescript, ...
  • Perustiedot API-suunnittelusta, OpenID Connectista (tai Oauth2:sta), tietoturvasta, ...

EI ENÄÄ SAATAVILLA

SVG-editorin avulla haluamme myös pystyä tuottamaan konekoodia kirjonta-alan koneita varten. Tyypillisiä tiedostomuotoja ovat .pes ja .dst.

Konekoodin luominen .svg-tiedoston perusteella hoidetaan palvelinpuolella.

Joitakin ominaisuuksia, jotka haluamme toteuttaa:

  • Ilmoita kunkin vektorin (tai vektoriryhmän) osalta, millä tikillä se olisi ajettava.
  • täyttää suljettuja pintoja (2D-täytöt) tietyillä täyttökuvioilla tietyn suuntauksen mukaisesti.
  • Bittikartan muuntaminen ristipistokuvioksi (esim. HaftiX).

Edellytykset

  • laskennallinen geometria (lineaarialgebra/metrologia)
  • Python

EI ENÄÄ SAATAVILLA

Kun bittikarttakuvia käytetään digitaalisen valmistuksen avulla fyysisillä välineillä näytettäviksi, ne on ensin muunnettava niin sanotuksi rasterikuvioksi. Tätä tarkoitusta varten on olemassa erilaisia rasterialgoritmeja:

  • tilattu värähtelyrasteri
  • virhediffuusiorasteri (Stucki, Floyd-Steinberg, Jarvis).
  • Väri en Musta/valkoinen

Rasterikuvien luominen hoidetaan palvelinpuolella. Tarkoituksena on toteuttaa ja optimoida edelleen erilaisia algoritmeja laserleikkureita varten.

Edellytykset

  • kuvankäsittely (bvb openCV)
  • Python

Suunnitteluhankkeet (+ toteutus):

Moodlen sisäänrakennettu WYSIWYG-editori käyttää vanhentunutta tekniikkaa (kirjaimellisesti). Täysin oman editorin käyttöönotto on tällä hetkellä mahdotonta, samoin kuin oman LMS:n rakentaminen. Meidän on siis parannettava nykyistä editoria. Tämä hanke on vaiheittainen.

1. VAIHE I

Tämän hankkeen ensimmäinen vaihe on editorin siistiminen. Tarkemmin sanottuna:

  • Poista tarpeettomat laajennukset
  • Lisäämme "html-siivoojan + muotoilijan", joka muotoilee sisällön reaaliaikaisesti ohjeidemme mukaisesti. Tärkeää on, että kaikki komponentit sisältävät oikeat luokat, jotta CSS-ohjelmamme voi tehdä työnsä. Myös oudot konstruktiot on poistettava tai mukautettava.
  • Tarvittaessa siirrä lisätyt kuvat omalle tiedostopalvelimellemme, jotta käännöspalvelin voi tehdä työnsä.

2. VAIHE II

Tässä vaiheessa editorin pitäisi jo tuottaa hyvää, siistiä html:ää, mutta se ei ole vielä käyttökelpoinen. Tässä vaiheessa UX:ää käsitellään muuttamalla editori lohkopohjaiseksi editoriksi. Konkreettisesti editori ilmoittaa reaaliajassa, mitä komponentteja voit lisätä. Ainoa tapa lisätä tällainen komponentti on sitten painaa painiketta ja täyttää ponnahdusikkuna.

Edellytykset

  • PHP, Javascript

Ensimmäisessä vaiheessa 3DSlicer muotoillaan uudelleen talomme tyyliin. Uudelleenmuotoilu on tehtävä siten, että voimme edelleen suhteellisen helposti "poimia" tietoja pääkehitysarkistosta.

Edellytykset

  • Javascript, ...
  • Web-kehitys yleensä

Nykyisen suunnittelun jatkaminen, laajennusten ja lisäominaisuuksien lisääminen. Sovelluksen mahdollistaminen kynän kosketuksella tabletteja varten.

Edellytykset

  • Javascript, ...
  • Web-kehitys yleensä

LMS:n käyttäjät voivat myös rakentaa sähköisen portfolion. Tätä varten otamme vaikutteita erilaisista alustoista, kuten seuraavista Instructables ja thingiverse Ehkä järjestelmän taustajärjestelmä perustuu Maharaan.

Edellytykset

  • Javascript, ...
  • Web-kehitys yleensä

Liittyy ehdotukseen SOFTWARE2: Jaa-osion määrittäminen

Oletko sinä etsimämme henkilö?