Fablab Factory cerca studenti e freelance!

Ti piacerebbe far parte del nostro team, e nella lista dei progetti qui sotto ce n'è uno o più che ti interessano? Questo è possibile come studente durante le vacanze estive, o su base permanente durante l'anno.

Sei laureato e/o hai una solida competenze nello sviluppo di software (backend, frontend o geometria computazionale) non esitate a contattarci. Siamo sempre alla ricerca di questi profili!

Contattateci usando il modulo qui sotto e indicare a cosa siete interessati. Un portfolio è sempre benvenuto!

La nostra missione

Vogliamo offrire a tutti la possibilità di diventare un maker - equipaggiato con le competenze necessarie in STEAM (Science, Technology, Engineering, Arts & Mathematics) e CT (Computational Thinking).

Attività

Fablab Factory è stata fondata nel 2015, inizialmente con l'ambizione di fornire alle scuole e ad altre organizzazioni le infrastrutture, il know-how e la formazione necessari per avviare un fablab. A partire dal 2019, avevamo anche un'offerta specificamente rivolta al contesto delle biblioteche, FabLib è nato! Sempre nel 2019, abbiamo iniziato a sviluppare una piattaforma di apprendimento digitale avanzata - Imparare, fare e condividereche è stato lanciato in beta alla fine del 2020. Con questo, FabLab Factory è sulla buona strada per diventare una società di software EdTech (Educational Technology). Autunno 2021 lanceremo un pacchetto STEAM per l'istruzione. 

Imparare Fare Condividere

Se si naviga in learnmakeshare.io, puoi entrare lì come ospite.

Lo scopo di questo LMS è di dare a tutti, giovani e vecchi, l'opportunità di acquisire competenze di maker. A tal fine, si basa su 3 pilastri: Imparare, Fare e Condividere. Nelle sezioni seguenti approfondiremo questo aspetto. 

Il materiale di apprendimento sviluppato è attualmente focalizzato sui giovani tra i 10 e i 14 anni, naturalmente l'intenzione è quella di estendere questa gamma completamente.

È importante notare che questo LMS è e rimarrà in beta fino alla fine del 2021.

Progetti software:

L'editor WYSIWYG integrato in Moodle utilizza una tecnologia obsoleta (letteralmente). Andare ad implementare un editor completamente proprietario è attualmente impossibile, come lo è costruire il proprio LMS. Quindi abbiamo bisogno di migliorare l'editor esistente. Questo progetto è graduale.

1. FASE I

La prima fase di questo progetto è la pulizia dell'editor. In particolare:

  • Rimuovere i plugin non necessari
  • Aggiungendo un "html cleaner + formatter" che formatta il contenuto in tempo reale secondo le nostre linee guida. È importante che tutti i componenti contengano le classi corrette, in modo che il nostro CSS possa fare il suo lavoro. Inoltre, le costruzioni strane devono essere rimosse/regolate.
  • Se necessario, sposta le immagini inserite sul nostro file server in modo che il server di traduzione possa fare il suo lavoro.

2. FASE II

A questo punto, l'editor dovrebbe già eseguire un buon html pulito, ma non è ancora utilizzabile. In questa fase, l'UX viene affrontata trasformando l'editor in un editor basato su blocchi. Concretamente, l'editor indicherà in tempo reale quali componenti è possibile aggiungere. L'unico modo per aggiungere un tale componente è quello di premere un pulsante e compilare un pop-up.

Prerequisiti

  • PHP, Javascript

Questo progetto riguarda la parte di condivisione di Learn Make Share. In particolare, sarà un'istanza (ridotta) di Mahara. Ha bisogno di essere integrata non solo con Moodle, ma anche con il nostro fornitore di ID e il nostro server di traduzione. L'editor dovrebbe essere guardato (potrebbe essere un progetto a sé stante) per rendere il più semplice possibile costruire il proprio portfolio.

Prerequisiti

  • PHP, Javascript
  • Deve essere in grado di lavorare autonomamente sulla base della documentazione

Relativo alla proposta DESIGN4: UI/UX E-Portfolio

In questa fase, il backend del 3DSlicer sarà affrontato. Sarà collegato ai nostri server API come un client oauth2 (proprio come l'editor SVG) in modo che, per esempio, le seguenti cose diventino possibili:

  • Opzioni di schermatura basate su badge
  • Elenco delle macchine disponibili
  • Rende immediatamente disponibile il gcode sul disco personale e sulle macchine, a condizione che siate collegati alla rete locale.

Prerequisiti

  • Javascript, ...
  • Sviluppo web in generale

Ogni Makercart sarà infine dotato di un dispositivo IoT per monitorare le macchine, tra le altre cose. Attualmente, questo dispositivo si sincronizza continuamente con una (sorta di) cartella pubblica di Drive e offre i file alle nostre macchine. Col tempo, ovviamente, questo non sarà sufficiente. Questo potrebbe essere un grande progetto, quindi stiamo lavorando per fasi:

1. FASE I

La prima fase sarà quella di collegare questi dispositivi ai nostri server API. In particolare, l'autenticazione avverrà tramite un segreto machine-to-machine. Il dispositivo IoT può poi, per esempio, tenere aperto un websocket con un endpoint specifico o fare un polling ogni tanto.

Il dispositivo IoT dovrà pubblicare lo stato delle macchine e l'utilizzo a una sorta di endpoint di registrazione. Gli utenti con i permessi appropriati possono poi recuperare queste informazioni.

Si noti che la macchina non lavora con informazioni personali. Per questo, un semplice segreto da macchina a macchina non è abbastanza sicuro.

2. FASE II

Dopo la seconda fase, sarà anche possibile interfacciarsi direttamente con le macchine, a condizione che si sia autorizzati a farlo (in base ai badge, per esempio) e che si sia connessi alla rete locale.

Per questo, il dispositivo dovrà eseguire un server HTTP relativamente piccolo. Ora abbiamo a che fare con dati personali, quindi il server API esterno giocherà anche qui un ruolo importante in termini di autenticazione. In particolare, l'autenticazione sarà fatta con una versione parzialmente automatizzata del flusso del dispositivo OpenID Connect. Quindi, un modulo javascript personalizzato lato client dovrà anche essere sviluppato per guidare questa autenticazione.

Alcuni esempi di cose che dovrebbero essere possibili dopo la Fase II:

  • Nell'editor SVG, caricare una scansione da tagliatori laser che includono una telecamera (come il Beambox)
  • Invia immediatamente i file dal browser (editor SVG, 3DSlicer, ...) alle macchine.
  • Invece di lavorare con un disco pubblico ora possiamo montare un "disco personale". Quando si genera il codice G, quel file finirà automaticamente su quel drive.

Prerequisiti

  • Buona gestione dei problemi relativi a Linux
  • Javascript, Typescript, ...
  • Conoscenza di base della progettazione API, OpenID Connect (o Oauth2), sicurezza, ...

Con l'editor SVG, vogliamo anche essere in grado di generare il codice macchina per le macchine da ricamo. I formati di file tipici sono .pes e .dst

La generazione del codice macchina basato su un file .svg è gestita lato server.

Alcune delle caratteristiche che vogliamo implementare:

  • Per ogni vettore (o gruppo di vettori) indica con quale punto deve essere eseguito.
  • riempire superfici chiuse (riempimenti 2D) con modelli di riempimento specifici secondo un dato orientamento.
  • Conversione di una bitmap in un motivo a punto croce (per esempio HaftiX).

Prerequisiti

  • geometria computazionale (algebra lineare/metrologia)
  • Python

Quando le immagini bitmap sono utilizzate per la visualizzazione su supporti fisici attraverso la fabbricazione digitale, devono prima essere convertite in un cosiddetto modello raster. Esistono diversi algoritmi raster per questo scopo:

  • dithering raster ordinato
  • raster di diffusione degli errori (Stucki, Floyd-Steinberg, Jarvis)
  • Colore bianco/nero

La generazione di immagini raster è gestita lato server. L'intenzione è quella di implementare e ottimizzare ulteriormente diversi algoritmi per i tagliatori laser.

Prerequisiti

  • elaborazione delle immagini (bvb openCV)
  • Python

Progetti di design (+ implementazione):

L'editor WYSIWYG integrato in Moodle utilizza una tecnologia obsoleta (letteralmente). Andare ad implementare un editor completamente proprietario è attualmente impossibile, come lo è costruire il proprio LMS. Quindi abbiamo bisogno di migliorare l'editor esistente. Questo progetto è graduale.

1. FASE I

La prima fase di questo progetto è la pulizia dell'editor. In particolare:

  • Rimuovere i plugin non necessari
  • Aggiungendo un "pulitore + formattatore html" che formatta il contenuto in tempo reale secondo le nostre linee guida. È importante che tutti i componenti contengano le classi corrette, in modo che i nostri CSS possano fare il loro lavoro. Inoltre, i costrutti strani devono essere rimossi/adeguati.
  • Se necessario, sposta le immagini inserite sul nostro file server in modo che il server di traduzione possa fare il suo lavoro.

2. FASE II

A questo punto, l'editor dovrebbe già produrre un buon html pulito, ma non è ancora utilizzabile. In questa fase, l'UX viene affrontata trasformando l'editor in un editor basato su blocchi. Concretamente, l'editor indicherà in tempo reale quali componenti è possibile aggiungere. L'unico modo per aggiungere un tale componente è quindi quello di premere un pulsante e compilare un pop-up.

Prerequisiti

  • PHP, Javascript

La prima fase è il restyling di 3DSlicer secondo il nostro stile. Il restyling deve essere fatto in modo tale che possiamo ancora "prelevare" dal repository di sviluppo principale con relativa facilità.

Prerequisiti

  • Javascript, ...
  • Sviluppo web in generale

Ulteriore lavoro sul design attuale, aggiungere estensioni e caratteristiche extra. Abilitazione del pen-touch di questa applicazione per i tablet.

Prerequisiti

  • Javascript, ...
  • Sviluppo web in generale

Gli utenti dell'LMS saranno anche in grado di costruire un E-portfolio. Per questo stiamo prendendo ispirazione da varie piattaforme di creazione come Instructables e thingiverse Forse il backend del sistema sarà basato su Mahara.

Prerequisiti

  • Javascript, ...
  • Sviluppo web in generale

Relativo alla proposta SOFTWARE2: Impostazione della sezione Condividi

Sei la persona che stiamo cercando?