Création d'un filesystem compatible avec AWS S3. Administrable via une interface web.

filesox

En recherchant de rendre mes projects plus accessibles et ne pas avoir de coupure sur mes services et en utilisant kuberntes je voulais un système de stockage de fichier compatible avec AWS S3. Donc j'ai décidé de créer Filesox.

Les technologies utilisées :

  • - Kotlin
  • - React
  • - Mariadb
  • - Tailwind css
Share Filesox
Query Filesox
Administration Filesox

Détail de Filesox :

L'outil permet de stocker des fichiers sur un serveur S3 ou sur le serveur lui-même. Nous pouvons les gérer via une interface web. Il est possible de créer des dossiers, de les renommer, de les supprimer, de les télécharger et de les déplacer dans l'architecture.

Vous êtes perdu dans l'architecture de vos fichiers ? Pas de souci, nous avons mis en place un système de recherche pour retrouver vos fichiers plus facilement.

Nous avons un mini panel d'administration pour l'outil. Il permet de voir les utilisations, les logs ainsi que les partages effectués.

Un peu de technique ?

Pour mieux répondre au besoin, j'ai utilisé des design patterns comme "l'Adapter" pour avoir une seule logique pour la partie système de fichiers.

Pour la partie des logs, j'ai utilisé le pattern Observer pour avoir une mise à jour en temps réel des logs.

Pour la partie front, j'ai utilisé React avec un design simple et épuré pour une meilleure expérience utilisateur. Pour gagner en réactivité, j'ai utilisé React Query pour les appels à l'API.

Hébergement - Github CI/CD:

Pour l'hébergement, je suis parti sur une solution de conteneurisation avec Docker et un orchestrateur Kubernetes pour la mise en production. Avec GitHub, j'ai pu ajouter une CI/CD pour le build de l'application et publier rapidement les images Docker.

ci_cd_github