From 0a90baa07389e4b96757051045f281f0d725c340 Mon Sep 17 00:00:00 2001 From: Mathis Date: Sat, 12 Apr 2025 13:22:43 +0200 Subject: [PATCH] =?UTF-8?q?Ajout=20du=20README=20et=20de=20la=20base=20de?= =?UTF-8?q?=20donn=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Front-end/src/pages/Admin/User.jsx | 1 - README.md | 64 +++++++++++++++++++++++++++++ sql/export.sql | Bin 10551 -> 14246 bytes 3 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 README.md diff --git a/Front-end/src/pages/Admin/User.jsx b/Front-end/src/pages/Admin/User.jsx index 457c65d..bed3efd 100644 --- a/Front-end/src/pages/Admin/User.jsx +++ b/Front-end/src/pages/Admin/User.jsx @@ -71,7 +71,6 @@ function User() { if (user.id === userId && newLevel != user.role) { const oldLevel = user.role; user.role = newLevel; - /*ToDO*/ if (user.role === "user") { user.points = 60; } else if (user.role === "complexe") { diff --git a/README.md b/README.md new file mode 100644 index 0000000..6a50302 --- /dev/null +++ b/README.md @@ -0,0 +1,64 @@ +# Gestion des Objets Connectés + +Cette application permet de gérer les objets connectés, les utilisateurs, et les catégories via une interface d'administration intuitive. Elle inclut un système de journalisation des actions utilisateurs et un contrôle des rôles. + +## Table des matières + +1. [Description](#description) +2. [Fonctionnalités](#fonctionnalités) +3. [Installation](#installation) +4. [Base de données](#base-de-données) +5. [Utilisation](#utilisation) + +--- + +## Description + +Une application de gestion des objets connectés. Elle permet de gérer les utilisateurs, les objets et les catégories, et de suivre les actions dans un journal des logs. + +## Fonctionnalités + +- Gestion des utilisateurs : ajout, suppression, modification +- Gestion des catégories d'objets +- Suivi des actions via un journal des logs +- Interface responsive +- Authentification sécurisée avec JWT + +## Installation + +1. Front-end : + Ouvrez un terminal,déplacez vous dans le dossier Front-end du projet et executez la commande 'npm install' +2. Back-end : + Assurez-vous d'avoir toutes ces étapes de faite avant de lancer le projet + Installer java + Installer starter VERTX sur le site (https://vertx.io/docs/) + Installer JDK + Configurer java.home = « PATH/FOR/JDK » + Installer mvn : choco install mvn + **Dans le dossier Back-end du projet** + Mettre a jour les dépendances : mvn clean install + +3. Lancez l'application : + **Dans le dossier Back-end du projet** + mvn exec:java + **Dans le dossier Front-end du projet** + npm start + +## Base de données + +1. Assurez vous que PostgreSQL soit installé: + sudo apt update + sudo apt install postgresql postgresql-contrib +2. Démarez le service: + sudo service postgresql start +3. Créez la base de Données: + CREATE DATABASE postgres; +4. Importer la base de données: + psql -U postgres -d postgres -f ./export.sql +5. Verifiez que vos informations correspondent au fichier '.\Back-end\src\main\java\com\example\starter\DatabaseService.java' + +## Utilisation + +- Une fois l'application lancée, accédez à `http://localhost:5173`. +- Connectez vous au compte admin avec le mail:"admin.a@gmail.com" et mdp:"azertyuiop" +- Vous pouvez aussi vous connecter à un compte complexe avec le mail "complexe@gmail.com" et mdp:"azertyuiop" diff --git a/sql/export.sql b/sql/export.sql index 2181aab7008285d07db0dd66de0abaf25cd9177c..83e0a94740744ce2ab5ff8b3dc0dea45283778ec 100644 GIT binary patch literal 14246 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