Fablab Factory söker studenter och frilansare!

Vill du bli en del av vårt team och finns det ett eller flera projekt i listan nedan som intresserar dig? Detta är möjligt som student under sommarlovet eller som fast anställd under året.

Har du en examen och/eller har du en gedigen erfarenhet? färdigheter i programvaruutveckling (backend, frontend eller beräkningsgeometri), tveka inte att kontakta oss. Vi letar alltid efter sådana profiler!

Kontakta oss med hjälp av formuläret nedan och ange vad du är intresserad av. En portfolio är alltid välkommen!

Vårt uppdrag

Vi vill ge alla chansen att bli en skapare - utrustade med den nödvändiga kompetensen inom STEAM (Science, Technology, Engineering, Arts & Mathematics) och CT (Computational Thinking).

Verksamheter

Fablab Factory grundades 2015, ursprungligen med ambitionen att förse skolor och andra organisationer med den infrastruktur, kunskap och utbildning som behövs för att starta ett Fablab. Från och med 2019 hade vi också ett erbjudande som var särskilt inriktat på bibliotekskontexten, FabLib var född! Under 2019 började vi också utveckla en avancerad digital inlärningsplattform - Lär dig, gör och dela med digsom lanserades i betaversion i slutet av 2020. I och med detta är FabLab Factory på god väg att bli ett EdTech-företag (Educational Technology). Hösten 2021 kommer vi att lansera ett STEAM-paket för utbildning. 

Lär dig göra dela med dig

Om du surfar till learnmakeshare.ioDu kan logga in där som gäst.

Syftet med detta LMS är att ge alla, unga som gamla, möjlighet att skaffa sig kompetens som skapare. För detta ändamål vilar den på tre pelare: Lärande, tillverkning och delning. I de följande avsnitten kommer vi att utveckla detta. 

Det utvecklade läromedlet är för närvarande inriktat på ungdomar mellan 10 och 14 år, men avsikten är naturligtvis att utvidga detta område helt och hållet.

Det är viktigt att detta LMS är och förblir i betaversion fram till slutet av 2021.

Programvaruprojekt:

Den inbyggda WYSIWYG-redigeraren i Moodle använder föråldrad teknik (bokstavligen). Att införa en helt egen editor är för närvarande omöjligt, liksom att bygga ett eget LMS. Därför måste vi förbättra den befintliga redigeraren. Detta projekt är stegvis.

1. FAS I

Den första fasen i detta projekt är att rensa upp redaktören. Mer specifikt:

  • Ta bort onödiga plugins
  • Lägg till en "html cleaner + formatterare" som formaterar innehållet i realtid enligt våra riktlinjer. Det är viktigt att alla komponenter innehåller rätt klasser så att vår CSS kan göra sitt jobb. Dessutom måste konstiga konstruktioner tas bort/justeras.
  • Vid behov flyttar vi inlagda bilder till vår egen filserver så att översättningsservern kan göra sitt jobb.

2. FAS II

Vid det här laget borde redigeraren redan köra bra och ren html, men den är därför ännu inte användbar. I den här fasen behandlas UX genom att omvandla redigeraren till en blockbaserad redigerare. Konkret kommer redigeraren att i realtid ange vilka komponenter du kan lägga till. Det enda sättet att lägga till en sådan komponent är att trycka på en knapp och fylla i en pop-up.

Förutsättningar

  • PHP, Javascript

Det här projektet handlar om delningsdelen av Learn Make Share. Det kommer särskilt att vara en (avskalad) Mahara-instans. Den måste integreras inte bara med Moodle, utan också med vår ID-leverantör och vår översättningsserver. Redaktören bör ses över (kan bli ett eget projekt) för att göra det så enkelt som möjligt att bygga en egen portfölj.

Förutsättningar

  • PHP, Javascript
  • Måste kunna arbeta självständigt på grundval av dokumentation.

Relaterat till förslag DESIGN4: UI/UX E-Portfolio

I den här fasen kommer 3DSlicers backend att behandlas. Den kommer att anslutas till våra API-servrar som en oauth2-klient (precis som SVG-redigeraren) så att till exempel följande saker blir möjliga:

  • Skyddsalternativ baserade på märken
  • Lista över tillgängliga maskiner
  • Gör omedelbart gcode tillgängligt på den personliga enheten och på maskinerna, förutsatt att du är ansluten till det lokala nätverket.

Förutsättningar

  • Javascript, ...
  • Webbutveckling i allmänhet

Varje Makercart kommer så småningom att utrustas med en IoT-enhet för att bland annat övervaka maskinerna. För närvarande synkroniserar den här enheten kontinuerligt med en (slags) offentlig Drive-mapp och erbjuder filerna till våra maskiner. Med tiden kommer detta naturligtvis inte att vara tillräckligt. Detta kan bli ett stort projekt, så vi arbetar i faser:

1. FAS I

Den första fasen kommer att vara att ansluta dessa enheter till våra API-servrar. Autentisering kommer att ske via en hemlighet mellan maskiner. IoT-enheten kan sedan t.ex. hålla en websocket öppen med en specifik slutpunkt eller göra en undersökning med jämna mellanrum.

IoT-enheten måste publicera maskinernas status och användning till någon form av slutpunkt för loggning. Användare med lämpliga behörigheter kan sedan hämta denna information.

Observera att maskinen inte arbetar med personlig information. En enkel maskin-till-maskin-hemlighet är därför inte tillräckligt säker.

2. FAS II

Efter den andra fasen kommer det också att vara möjligt att använda maskinerna direkt, förutsatt att du har rätt att göra det (t.ex. med hjälp av märken) och att du är ansluten till det lokala nätverket.

För detta måste enheten köra en relativt liten HTTP-server. Nu handlar det om personuppgifter, så den externa API-servern kommer också att spela en viktig roll när det gäller autentisering. Mer specifikt kommer autentiseringen att ske med en delvis automatiserad version av OpenID Connect-enhetsflödet. Således kommer en anpassad javascriptmodul på klientsidan också att behöva utvecklas för att styra denna autentisering.

Några exempel på saker som bör vara möjliga efter fas II:

  • I SVG-redigeraren laddar du in en skanning från laserskärare som har en kamera (t.ex. Beambox).
  • Skicka omedelbart filer från webbläsaren (SVG-redigerare, 3DSlicer, ...) till maskinerna.
  • Istället för att arbeta med en offentlig enhet kan vi nu montera en "personlig enhet". När du genererar G-kod kommer filen automatiskt att hamna på den enheten.

Förutsättningar

  • God hantering av Linuxrelaterade frågor
  • Javascript, Typscript, ...
  • Grundläggande kunskaper om API-design, OpenID Connect (eller Oauth2), säkerhet, ...

INTE LÄNGRE TILLGÄNGLIG

Med SVG-redigeraren vill vi också kunna generera maskinkod för broderimaskiner. Typiska filformat är .pes och .dst.

Generering av maskinkod baserad på en .svg-fil hanteras på serversidan.

Några av de funktioner som vi vill införa:

  • Ange för varje vektor (eller grupp av vektorer) med vilken stygn den ska köras.
  • fylla slutna ytor (2D-fyllningar) med specifika fyllningsmönster i enlighet med en given orientering.
  • Konvertering av en bitmapp till ett korsstygnsmönster (t.ex. HaftiX).

Förutsättningar

  • Beräkningsgeometri (linjär algebra/metrologi).
  • Python

INTE LÄNGRE TILLGÄNGLIG

När bitmappbilder används för visning på fysiska medier genom digital tillverkning måste de först konverteras till ett så kallat rastermönster. Det finns olika rasteralgoritmer för detta ändamål:

  • ordnad dithering raster
  • Raster för spridning av fel (Stucki, Floyd-Steinberg, Jarvis).
  • Färg en Svart/vit

Genereringen av rasterbilder hanteras på serversidan. Avsikten är att genomföra och ytterligare optimera olika algoritmer för laserskärare.

Förutsättningar

  • bildbehandling (bvb openCV)
  • Python

Designprojekt (+ genomförande):

Den inbyggda WYSIWYG-redigeraren i Moodle använder föråldrad teknik (bokstavligen). Att införa en helt egen editor är för närvarande omöjligt, liksom att bygga ett eget LMS. Därför måste vi förbättra den befintliga redigeraren. Detta projekt är stegvis.

1. FAS I

Den första fasen i detta projekt är att rensa upp redaktören. Mer specifikt:

  • Ta bort onödiga plugins
  • Vi lägger till en "html cleaner + formatterare" som formaterar innehållet i realtid enligt våra riktlinjer. Det är viktigt att alla komponenter innehåller rätt klasser, så att våra CSS kan göra sitt jobb. Dessutom måste konstiga konstruktioner tas bort/anpassas.
  • Vid behov flyttar vi inlagda bilder till vår egen filserver så att översättningsservern kan göra sitt arbete.

2. FAS II

Vid det här laget borde redigeraren redan producera bra och ren html, men den är därför ännu inte användbar. I den här fasen behandlas UX genom att omvandla redigeraren till en blockbaserad redigerare. Konkret kommer redigeraren att i realtid ange vilka komponenter du kan lägga till. Det enda sättet att lägga till en sådan komponent är då att trycka på en knapp och fylla i en pop-up.

Förutsättningar

  • PHP, Javascript

Den första fasen är att omforma 3DSlicer till vår egen stil. Omformningen måste göras på ett sådant sätt att vi fortfarande relativt enkelt kan "plocka" från det huvudsakliga utvecklingsarkivet.

Förutsättningar

  • Javascript, ...
  • Webbutveckling i allmänhet

Fortsatt arbete med den nuvarande designen, lägga till tillägg och extra funktioner. Möjlighet att använda pennor för att göra programmet tillgängligt för surfplattor.

Förutsättningar

  • Javascript, ...
  • Webbutveckling i allmänhet

Användare av LMS kommer också att kunna skapa en e-portfolio. För detta tar vi inspiration från olika plattformar som t.ex. Instructables och thingiverse Kanske kommer systemets backend att baseras på Mahara.

Förutsättningar

  • Javascript, ...
  • Webbutveckling i allmänhet

Relaterat till förslaget SOFTWARE2: Inställning av avsnittet Share

Är du den person som vi söker?