NimbusPi - Web - Vâlcea - Lucrari 2023 Nationala

Informatii generale

Descriere

NimbusPi este un proiect inovator ce propune o platformă de cloud sharing anonimă, ce se bazează pe utilizarea codurilor pentru partajarea și stocarea fișierelor. Prin implementarea tehnologiilor avansate, cum ar fi verificarea integrității fișierelor pe un hardware extern (ESP8266), utilizarea unui server SFTP pentru stocarea datelor și sortarea automată a fotografiilor prin intermediul învățării automate, NimbusPi își propune să ofere un nivel ridicat de confidențialitate, securitate și performanță.

Caracteristici principale:

Platformă de cloud sharing anonimă: NimbusPi utilizează coduri pentru partajarea fișierelor, asigurând astfel confidențialitatea utilizatorilor. Nu există nevoie de autentificare sau de dezvăluirea identității pentru a accesa și partaja fișiere.
Expirarea automată a codurilor: Codurile utilizate în NimbusPi sunt programate să se șteargă automat după 6 ore, asigurând astfel că accesul la fișiere este temporar și controlat.
Verificarea integrității fișierelor: Pentru a preveni atacurile de tip man-in-the-middle, NimbusPi utilizează un hardware extern numit ESP8266 pentru a verifica integritatea fișierelor înainte de a fi partajate sau descărcate.
Implementare în Flask: Codul proiectului este scris în Flask, un framework Python popular pentru dezvoltarea de aplicații web, oferind astfel o bază solidă pentru dezvoltarea și scalabilitatea platformei NimbusPi.
Server SFTP pentru stocare: NimbusPi utilizează un server SFTP (Secure File Transfer Protocol) pentru stocarea fișierelor partajate. Acest protocol criptat asigură confidențialitatea și securitatea transferului de fișiere.
Sortarea fotografiilor cu ajutorul învățării automate: Prin implementarea tehnologiilor de învățare automată, NimbusPi poate sorta automat fotografiile partajate pe baza conținutului acestora. Aceasta facilitează căutarea și gestionarea eficientă a imaginilor în platformă.
Utilizarea acceleratorului USB Google Coral: Scriptul de învățare automată rulează pe un accelerator USB numit Google Coral, care oferă o performanță ridicată în timp real pentru procesarea datelor.

Beneficii:

Confidențialitate și anonimat: Prin utilizarea codurilor și expirarea automată a acestora, NimbusPi oferă un nivel înalt de confidențialitate și anonimat utilizatorilor, protejându-le identitatea și datele personale.
Securitate îmbunătățită: Verificarea integrității fișierelor pe un hardware extern și utilizarea serverului SFTP criptat asigură un nivel înalt de securitate în transferul și stocarea datelor.
Eficiență și organizare: Sortarea automată a fotografiilor utilizând învățarea automată facilitează gestionarea și căutarea eficientă a imaginilor în platformă, economisind timp și efort utilizatorilor.
Performanță și scalabilitate: Implementarea în Flask și utilizarea acceleratorului USB Google Coral permit o performanță ridicată și scalabilitate a platformei NimbusPi, asigurând că aceasta poate face față cerințelor crescute ale utilizatorilor.

În concluzie, proiectul NimbusPi oferă o soluție avansată și sigură pentru partajarea fișierelor în cloud, promovând confidențialitatea, securitatea și organizarea eficientă a datelor.

Tehnologii

Module folosite:
Flask: Welcome to Flask — Flask Documentation (2.3.x)
Socket: socket — Low-level networking interface — Python 3.11.4 documentation
Os: os — Miscellaneous operating system interfaces — Python 3.11.4 documentation
UUID: uuid — UUID objects according to RFC 4122 — Python 3.11.4 documentation
Paramiko: https://www.paramiko.org/
Numpy: https://numpy.org/
PIL: Pillow (PIL Fork) 10.0.0 documentation
pycoral: https://coral.ai/
Random: random — Generate pseudo-random numbers — Python 3.11.4 documentation
Datetime: datetime — Basic date and time types — Python 3.11.4 documentation
Tempfile: tempfile — Generate temporary files and directories — Python 3.11.4 documentation
SQLite: sqlite3 — DB-API 2.0 interface for SQLite databases — Python 3.11.4 documentation
Logging: logging — Logging facility for Python — Python 3.11.4 documentation

Componente:
Raspberry PI4 B 4GB RAM
Accelerator USB Google Coral

Impartirea sarcinilor:
Nitu Mario:
Server, ML
Grigorescu Vlad:
BackEnd, FrontEnd

Cerinte sistem

-Linux
-Python
Flask: Welcome to Flask — Flask Documentation (2.3.x)
Socket: socket — Low-level networking interface — Python 3.11.4 documentation
Os: os — Miscellaneous operating system interfaces — Python 3.11.4 documentation
UUID: uuid — UUID objects according to RFC 4122 — Python 3.11.4 documentation
Paramiko: https://www.paramiko.org/
Numpy: https://numpy.org/
PIL: Pillow (PIL Fork) 10.0.0 documentation
pycoral: https://coral.ai/
Random: random — Generate pseudo-random numbers — Python 3.11.4 documentation
Datetime: datetime — Basic date and time types — Python 3.11.4 documentation
Tempfile: tempfile — Generate temporary files and directories — Python 3.11.4 documentation
SQLite: sqlite3 — DB-API 2.0 interface for SQLite databases — Python 3.11.4 documentation
Logging: logging — Logging facility for Python — Python 3.11.4 documentation

Realizatori

Mario Nitu

  • Scoala: Colegiul National Alexandru Lahovari
  • Clasa: 9
  • Judet: Vâlcea
  • Oras: Racovita

Vlad-Andrei Grigorescu

  • Scoala: Colegiul National Alexandru Lahovari
  • Clasa: 9
  • Judet: Vâlcea
  • Oras: Ramnicu Valcea

Screenshots