Frag
Aperçu
Frag est une application conçue pour optimiser le stockage de fichiers via un système de fragmentation, compression et déduplication. Elle s'appuie sur une architecture moderne combinant React en front-end et Spring Boot en back-end.
Pourquoi ce projet ?
Ce projet est né d’une volonté d’optimiser le stockage et la gestion de fichiers volumineux. L’architecture mise en place permet de minimiser l’espace disque utilisé tout en assurant une reconstruction fidèle des fichiers originaux. C'est également un excellent exercice de gestion d’état, de visualisation de données et d'architecture performante.
Fonctionnalités clés
- Compression intelligente : Fragmentation des fichiers en chunks dynamiques basés sur le contenu.
- Déduplication avancée : Stockage unique des chunks identiques pour économiser de l'espace.
- Statistiques détaillées : Affichage des gains de compression, tailles originales vs compressées, temps de traitement.
- Paramètres personnalisables : Configuration de la fenêtre de fragmentation, taille min/max des chunks, etc.
- Explorateur de fichiers : Téléchargement, suppression et inspection des fichiers chunk par chunk.
Stack utilisé
- Front-end : React (TypeScript), Vite, Tailwind CSS, React Query, React Router
- Back-end : Spring Boot 3, PostgreSQL, JPA, Rabin Fingerprinting, ZLIB
- API REST : Upload, visualisation, téléchargement, suppression
- Outils : Swagger, Docker, JUnit, Mockito




Projet réalisé en équipe