Skip to content

Latest commit

 

History

History
100 lines (68 loc) · 3.17 KB

REPORT.md

File metadata and controls

100 lines (68 loc) · 3.17 KB

Compte rendu Drive.jsf

Drive.jsf est une solution équivalente à Google Drive, implémentée en JSF avec la bibliothèque Primefaces.


Auteurs

Mise en place du projet

Nous avons utilisé Maven pour gérer les dépendances de notre projet (cf. pom.xml). Nous avons utilisé l'IDE IntelliJ pour construire et déployer notre application sur le serveur TomEE version 1.6.0.

Tout d'abord, importez le fichier de base de données dans votre base locale :

/database/schema.sql

Définissez les informations de connexion de la base de données dans le fichier hibernate.cfg.xml :

/drive.jsf/src/main/resources/hibernate.cfg.xml 

Déployez votre application sur l'adresse suivante pour que la configuration OAuth Google reconnaisse l'application :

http://localhost:8080/

Une fois l'application déployée, vous aurez accés à Drive.jsf, notre solution de gestion de fichier en ligne.

Fonctionnalités

Les fonctionnalités implémentées sont les suivantes :

  • Authentification OAuth Google pour se connecter à l'application
  • Déconnexion avec retour à la page d'accueil
  • Gestion d'une page 404 personnalisée
  • Page d'accueil personnalisée qui incite l'utilisateur à se connecter.
  • Page de gestion des fichiers avec les possibilités suivantes :
    • Navigation dans l'arborescence des fichiers par double click sur les dossiers
    • Suppression d'un fichier / dossier (Si suppression d'un dossier, suppression automatique de tous les fichiers contenus)
    • Téléchargement d'un fichier
    • Téléchargement d'un dossier (Le dossier et tout son contenu est zippé avant d'être téléchargé)
    • Partage d'un dossier / fichier avec un autre utilisateur
    • Upload d'un fichier (ou plusieurs)
    • Création d'un dossier au nom spécifié
    • Recherche dans les documents possédés
  • Page de gestion des dossiers / fichiers partagés
    • Vision des dossiers / fichiers que l'on a partagé
    • Vision des dossiers / fichiers qui nous sont partagés
    • Navigation dans les dossiers
    • Suppression d'un partage
  • Gestion des menus contextuels

Pour ce projet, nous avons utilisé une structure de base de donnée intelligente qui stock les données de manière découplée. Cette méthode nous permet la duplication de fichiers illimitée à coût réduit. Un fichier a un lien logique vers une donnée. Pour savoir si le data d'un fichier existe en base, nous utilisons le checksum MD5 des données.

Schema de la base de données :

Schema BDD

Screenshots

Context Menu

Context Menu

Folder Popup

Folder Popup

Home Screen

Home Screen

Search Table

Search Table

Share Popup

Share popup

Share Screen

Share Screen

Welcome Screen

Welcome Screen