Compare commits

...

4 commits

Author SHA1 Message Date
29bcc9ec06 Added lighting repositories 2024-10-11 22:59:23 +02:00
8047ff8d12 Fixed RTC 2024-10-11 22:59:09 +02:00
d75cd8fd02 Add mediasoup canvas 2024-10-11 22:59:01 +02:00
c9b2581b9a Cloning files in docx 2024-10-11 22:58:35 +02:00
14 changed files with 87 additions and 1 deletions

BIN
Organization/AC.docx Normal file

Binary file not shown.

BIN
Organization/History.docx Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Organization/Partners.docx Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Organization/Rules.docx Normal file

Binary file not shown.

BIN
Organization/Staff.docx Normal file

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,18 @@
Il database serve per salvare una lista di tutti i file salvati dentro il sistema.
Schema:
```json
{
"_id": ObjectId, // MongoDB default ID, generato automaticamente
"name": "file name", // Nome del file originale caricato dall'utente
"path": "unix path or null", // Dove è salvato il file nel computer? Implementazione futura per TN Office, lasciare tutti vuoti
"servers": ["server unique key"], // Usato per salvare la posizione del file sul network
"extensions": [
{
extension: "file extension", // Estensione del file
servers: ["server unique key"] // Usato per salvare la posizione del file convertito sul network
}
]
}
```
Uno dei principali compiti del Database è salvare la posizione del file nel cloud, assegnando a ogni file una lista di server da cui è possibile scaricarlo.

View file

@ -0,0 +1,26 @@
{
"nodes":[
{"id":"b2258fb7a180b38e","type":"group","x":-320,"y":160,"width":726,"height":780,"label":"Istanza"},
{"id":"f9899f477e93388b","type":"text","text":"/data","x":-300,"y":180,"width":250,"height":60},
{"id":"75fc7f0f43756b79","type":"text","text":"GET /\n- Restituisce un file\n- Supporto per il download di aree del file","x":80,"y":180,"width":306,"height":160},
{"id":"cf19827119c84bad","type":"text","text":"/text","x":-300,"y":570,"width":250,"height":60},
{"id":"eb96da60d7d55e21","type":"text","text":"POST /\n- Carica un nuovo file\n- Supporto per HTML Upload","x":80,"y":350,"width":306,"height":120},
{"id":"98d6ebf4ef9e28ef","type":"text","text":"GET \n- Restituisce un testo con il suo linguaggio","x":80,"y":500,"width":306,"height":130},
{"id":"6704f53d4a17c548","type":"text","text":"POST /\n- Inserisci un nuovo testo, specificando il linguaggio","x":80,"y":660,"width":306,"height":120},
{"id":"51ca68224f18df9f","type":"text","text":"PATCH /\n- Apply a .patch file to the original text","x":80,"y":800,"width":306,"height":120},
{"id":"aa56349946610fed","type":"text","text":"Istanza 0","x":1195,"y":500,"width":250,"height":60},
{"id":"8f974a0c76428625","type":"text","text":"Client","x":1640,"y":280,"width":250,"height":60},
{"id":"e29f35240556adc5","type":"file","file":"RaD/Lighting Repositories/Database.md","x":940,"y":780,"width":760,"height":580}
],
"edges":[
{"id":"587d326e99eaf88b","fromNode":"f9899f477e93388b","fromSide":"right","toNode":"75fc7f0f43756b79","toSide":"left","toEnd":"none"},
{"id":"537976d6d88c8b0d","fromNode":"f9899f477e93388b","fromSide":"right","toNode":"eb96da60d7d55e21","toSide":"left","toEnd":"none"},
{"id":"33a8a8a68d8f1bfb","fromNode":"cf19827119c84bad","fromSide":"right","toNode":"98d6ebf4ef9e28ef","toSide":"left","toEnd":"none"},
{"id":"a5ef564392e7bb83","fromNode":"cf19827119c84bad","fromSide":"right","toNode":"6704f53d4a17c548","toSide":"left","toEnd":"none"},
{"id":"485452e249da918b","fromNode":"cf19827119c84bad","fromSide":"right","toNode":"51ca68224f18df9f","toSide":"left","toEnd":"none"},
{"id":"54772443a43074af","fromNode":"8f974a0c76428625","fromSide":"left","toNode":"aa56349946610fed","toSide":"right"},
{"id":"8e9c3226f6603664","fromNode":"aa56349946610fed","fromSide":"bottom","toNode":"e29f35240556adc5","toSide":"top","fromEnd":"arrow","label":"Controllo posizione"},
{"id":"0b990bdc09458a96","fromNode":"aa56349946610fed","fromSide":"left","toNode":"b2258fb7a180b38e","toSide":"right","label":"Invio richiesta all'istanza giusta"},
{"id":"91bc5a0d3bde207c","fromNode":"b2258fb7a180b38e","fromSide":"top","toNode":"8f974a0c76428625","toSide":"top","label":"Risposta"}
]
}

View file

@ -3,7 +3,7 @@
{"id":"419304536f076e86","x":-221,"y":-260,"width":621,"height":560,"type":"group","label":"RTC server"},
{"id":"a7803b0862a1f515","x":580,"y":-260,"width":290,"height":480,"type":"group","label":"The Mind"},
{"id":"1c43a31197fd2a69","x":-201,"y":-240,"width":250,"height":149,"type":"text","text":"OnBoot:\n1. free calls\n2. ip\n3. port"},
{"id":"958532ea546381ce","x":-201,"y":-60,"width":250,"height":80,"type":"text","text":"OnShutdown:\n1. server id"},
{"id":"958532ea546381ce","x":-201,"y":-60,"width":250,"height":80,"type":"text","text":"OnShutdown:\n1. server ID"},
{"id":"1c1ac361471ac053","x":-201,"y":200,"width":250,"height":80,"type":"text","text":"1. Active Calls\n2. Free Calls"},
{"id":"c15ab9e0f7127445","x":600,"y":-240,"width":250,"height":100,"type":"text","text":"Register:\n1. Server ID"},
{"id":"da0db2cb7e19674e","x":600,"y":20,"width":250,"height":60,"type":"text","text":"Unregister"},

42
RaD/Mediasoup.canvas Normal file
View file

@ -0,0 +1,42 @@
{
"nodes":[
{"id":"49dfd8532e335541","x":-137,"y":460,"width":797,"height":440,"type":"group","label":"2. Caricare"},
{"id":"a6906ab48debe886","x":-137,"y":-46,"width":907,"height":366,"type":"group","label":"1 Istanziare"},
{"id":"86b5ce449b1e271c","x":-137,"y":1520,"width":807,"height":340,"type":"group","label":"5. Consumare (Router -> Client"},
{"id":"009349f2cef51f69","x":-137,"y":1080,"width":807,"height":300,"type":"group","label":"4. Produrre (Client -> Router)"},
{"id":"aa1ff9e0fd9bf6e7","x":-123,"y":607,"width":768,"height":267,"type":"group","label":"3. Transport"},
{"id":"c2bb28427d663bbf","x":-117,"y":-26,"width":277,"height":146,"type":"text","text":"Mediasoup Client\n- mediasoup client\n- libmediasoup\n- [...]"},
{"id":"c0035fce5c46d9dc","x":420,"y":11,"width":250,"height":73,"type":"text","text":"Router"},
{"id":"947419319cf0dcb1","x":500,"y":219,"width":250,"height":60,"type":"text","text":"RTP Parameters (creati dal router)"},
{"id":"b3b0af0b212d31dc","x":180,"y":200,"width":250,"height":98,"type":"text","text":"Websocket authentication and information sharing"},
{"id":"9be3c4d0196789c4","x":-103,"y":480,"width":250,"height":60,"type":"text","text":"Client (device load)"},
{"id":"48e0aaefd25a4771","x":-103,"y":740,"width":250,"height":60,"type":"text","text":"Router"},
{"id":"ee291128b5cc684f","x":375,"y":627,"width":250,"height":227,"type":"text","text":"1. Creare il transport server sul router\n2. Creare il SEND/RECEIVE nel client\n3. Fare connect nel client"},
{"id":"ee6ed440e2f3a988","x":-113,"y":1120,"width":250,"height":60,"type":"text","text":"Ottenere una traccia dal server"},
{"id":"f779273c63da14f0","x":335,"y":1129,"width":250,"height":60,"type":"text","text":"Connect (appena avviato)"},
{"id":"6dcb9081bfc9a45e","x":-113,"y":1200,"width":250,"height":60,"type":"text","text":"Avviare la produzione"},
{"id":"8cb37b3099eb220d","x":335,"y":1230,"width":315,"height":60,"type":"text","text":"Produce (genera i parametri e crea l'evento sul server)"},
{"id":"6fc3ad1fcf01132f","x":-113,"y":1290,"width":250,"height":70,"type":"text","text":"Nel client avviare una istanza producer"},
{"id":"e9140eaa8c61c5d5","x":-113,"y":1540,"width":763,"height":300,"type":"text","text":"C'è un flusso sul router pronto ad essere preso\nPassaggi:\n1. Il client segnala le use intenzioni RTP\n2. Il server si accerta che il client è pronto (controllo CODEC etc)\n3. Il server crea un **consumatore** nel webrtc creato dal suddetto client (ideale è crearlo, metterlo in pausa e consumare)\n4. Il server trasmette informazioni e parametri al client (se non c'è collegamento effettua connect)\n5. Si crea l'istanza consumatore nel client"},
{"id":"0ef0aa49e95211b2","x":143,"y":1966,"width":250,"height":60,"type":"text","text":"Creato il flusso, il 1° client può creare i **data channel**."},
{"id":"470454f34bd6785d","x":143,"y":2080,"width":250,"height":60,"type":"text","text":"Il 2° client riceve i flussi gestiti dal server"},
{"id":"abd4d6d07994c351","x":-700,"y":1660,"width":250,"height":60,"type":"text","text":"Innietta da FFMPEG o GStreamer"}
],
"edges":[
{"id":"fd0ab48a75cb2e7f","fromNode":"c0035fce5c46d9dc","fromSide":"left","toNode":"b3b0af0b212d31dc","toSide":"top"},
{"id":"f7da0fcac7da3b0a","fromNode":"c0035fce5c46d9dc","fromSide":"left","toNode":"c2bb28427d663bbf","toSide":"right"},
{"id":"9bfcdb2c9fe4aee6","fromNode":"c2bb28427d663bbf","fromSide":"bottom","toNode":"b3b0af0b212d31dc","toSide":"top"},
{"id":"0986a4d949652e12","fromNode":"c0035fce5c46d9dc","fromSide":"bottom","toNode":"947419319cf0dcb1","toSide":"top"},
{"id":"5f20dfe582987e01","fromNode":"947419319cf0dcb1","fromSide":"bottom","toNode":"9be3c4d0196789c4","toSide":"right"},
{"id":"a31c0fdf63d787a5","fromNode":"9be3c4d0196789c4","fromSide":"bottom","toNode":"48e0aaefd25a4771","toSide":"top","label":"Transport"},
{"id":"6be95c81142f47d6","fromNode":"aa1ff9e0fd9bf6e7","fromSide":"bottom","toNode":"009349f2cef51f69","toSide":"top"},
{"id":"b3b26eb3c0ffd45e","fromNode":"6dcb9081bfc9a45e","fromSide":"right","toNode":"f779273c63da14f0","toSide":"left"},
{"id":"f1d53f9862434801","fromNode":"6dcb9081bfc9a45e","fromSide":"right","toNode":"8cb37b3099eb220d","toSide":"left"},
{"id":"288991baeb1402e1","fromNode":"ee6ed440e2f3a988","fromSide":"bottom","toNode":"6dcb9081bfc9a45e","toSide":"top"},
{"id":"325735efb4c700df","fromNode":"6dcb9081bfc9a45e","fromSide":"bottom","toNode":"6fc3ad1fcf01132f","toSide":"top"},
{"id":"7988750033ac92a5","fromNode":"009349f2cef51f69","fromSide":"bottom","toNode":"86b5ce449b1e271c","toSide":"top"},
{"id":"65d96a5be4480ff9","fromNode":"86b5ce449b1e271c","fromSide":"bottom","toNode":"0ef0aa49e95211b2","toSide":"top"},
{"id":"666b36404d26be56","fromNode":"0ef0aa49e95211b2","fromSide":"bottom","toNode":"470454f34bd6785d","toSide":"top"},
{"id":"91a8ae3c9179ff76","fromNode":"abd4d6d07994c351","fromSide":"right","toNode":"86b5ce449b1e271c","toSide":"left"}
]
}