Cellify - Utilitar - Vâlcea - Lucrari 2025 Nationala

Informatii generale

  • Categorie: Utilitar
  • Judetul: Vâlcea

Descriere

Platforma de file-sharing P2P.

Tehnologii

Cellify este o platformă inovatoare de transfer direct de fișiere între dispozitive prin intermediul conceptului de “celule” - ecosisteme de dispozitive care comunică peer-to-peer fără intermediari cloud. Platforma adresează problemele transferului ineficient de fișiere prin email, aplicații de mesagerie sau servicii cloud temporare, oferind o soluție directă și securizată. Arhitectura sistemului este compusă din cinci componente principale interconectate, optimizate pentru scalabilitate și performanță în producție pe infrastructura AWS.
API-ul central, construit pe Django, gestioneaza autentificarea OAuth, modelul de date flexibil cu entitățile Cell, Device și DeviceCellLink, oferind endpoint-uri REST cu validare si rate limiting. Aplicația web, dezvoltată în Next.js cu Tailwind CSS, servește ca interfață principală pentru managementul celulelor, utilizând o librarie custom pentru identificarea dispozitivelor și implementând transferul peer-to-peer prin WebRTC cu feedback in timp real și funcții de administrare.
Aplicația mobile și desktop, construită în Flutter pentru compatibilitate cross-platform pe Android, Windows si Linux. Serverul WebSocket, implementat în Flask, facilitează comunicația în timp real pentru semnalizarea WebRTC, menține heartbeat monitoring și room management pentru broadcasting events și gestionarea conexiunilor cu integrare completă în API-ul central pentru autentificare.
Serverul TURN, bazat pe Coturn și serverul public STUN de la Google, asigură conectivitatea prin NAT și firewall-uri, oferind relay pentru trafic când conexiunile directe nu sunt posibile, cu credențiale temporare, optimizări de performanță și monitorizare detaliată. Fluxul de transfer începe cu autentificarea și înregistrarea dispozitivelor în celule, păstrează conexiunea real-time prin WebSocket, descoperă adresele IP publice via STUN, stabilește conexiuni peer-to-peer directe prin WebRTC, și folosește TURN pentru relay în cazul eșecului conexiunilor directe.
Infrastructura de producție utilizează GitHub Organization cu repository-uri separate pentru fiecare componentă, pipeline-uri CI/CD prin GitHub Actions pentru automatizare completă, deployment pe AWS cu strategii multi-environment de la development la staging și producție, implementând blue-green deployment pentru minimizarea downtime-ului și rollback rapid. Stiva tehnologică include Next.js și Flutter pentru frontend, Django și Flask pentru backend, WebRTC și WebSocket pentru comunicație real-time, REST API-uri pentru operațiuni standard, AWS și Docker pentru infrastructură, Coturn pentru servicii TURN, și OAuth cu libraria custom de fingerprinting pentru autentificare și identificarea dispozitivelor. <3

Cerinte sistem

Browser web compatibil cu webRTC pentru platforma web, Windows10/11 sau Linux pentru aplicatia Desktop, Android >15 pentru mobil.

Realizatori

Mario Nitu

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

Vlad Andrei Grigorescu

  • Scoala: C.N. Alexandru Lahovari
  • Clasa: 11
  • Judet: Vâlcea
  • Oras: Ramnicu Valcea

Screenshots