diff --git a/README.md b/README.md index 0401b4f..d794513 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,29 @@ -# Gestion des bénévoles - Comité des fêtes de Beaupont - -## Présentation du projet - -L'association organise régulièrement des événements et projets mobilisant des bénévoles, mais sa coordination interne est rendue difficile par l'usage d'outils dispersés, et non communicants. - -La création d'une plateforme web unique vise donc à centraliser et simplifier la gestion des utilisateurs, des rôles, des événements, des tâches et de la communication. Elle vise à améliorer la collaboration entre tous les bénévoles de l'association. - -## Objectifs de l’application - -L’application a pour objectifs principaux de : - -- Gérer les utilisateurs et leurs rôles au sein de l’association. -- Organiser et planifier les événements et les tâches associées. -- Permettre aux bénévoles de s’inscrire en ligne aux événements et aux tâches. -- Offrir aux responsables un tableau de bord pour suivre la participation et les besoins en ressources humaines. -- Centraliser les informations et la communication autour des projets associatifs. - -## Initialisation du projet - -### 1. Configuration du fichier `.env` principal - -1. Créez un fichier `.env` à la racine du projet. -2. Copiez le contenu du fichier `.env.example` dans le fichier `.env`. -3. Renseignez les variables suivantes : - +# Gestion des bénévoles - Comité des fêtes de Beaupont + +## Présentation du projet + +L'association organise régulièrement des événements et projets mobilisant des bénévoles, mais sa coordination interne est rendue difficile par l'usage d'outils dispersés, et non communicants. + +La création d'une plateforme web unique vise donc à centraliser et simplifier la gestion des utilisateurs, des rôles, des événements, des tâches et de la communication. Elle vise à améliorer la collaboration entre tous les bénévoles de l'association. + +## Objectifs de l’application + +L’application a pour objectifs principaux de : + +- Gérer les utilisateurs et leurs rôles au sein de l’association. +- Organiser et planifier les événements et les tâches associées. +- Permettre aux bénévoles de s’inscrire en ligne aux événements et aux tâches. +- Offrir aux responsables un tableau de bord pour suivre la participation et les besoins en ressources humaines. +- Centraliser les informations et la communication autour des projets associatifs. + +## Initialisation du projet + +### 1. Configuration du fichier `.env` principal + +1. Créez un fichier `.env` à la racine du projet. +2. Copiez le contenu du fichier `.env.example` dans le fichier `.env`. +3. Renseignez les variables suivantes : + | Variable | Description | | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `BACKEND_GIT_REPO` | URL HTTPS du dépôt backend sans le préfixe `https://`
(ex : `gitlab.com/user/repo-backend.git`) | @@ -41,40 +41,54 @@ L’application a pour objectifs principaux de : | `FORCE_CLONE` | Mettre à `true` pour forcer le clonage du dépôt backend même si la branche configurée diffère de la branche actuelle. | | `DEV` | Mettre `1` en environnement de développement, laisser vide sinon. | | `VITE_API_URL` | URL du frontend hébergé et exposé par le conteneur Nginx (par défaut sur le port 80) | - -### 2. Configuration du fichier `.env` php - -Répétez la même opération pour le fichier `docker/php/.env` en copiant depuis `docker/php/.env.example`. - - De plus, un utilisateur administrateur est automatiquement créé avec les informations suivantes : - - **Prénom :** `admin` - - **Nom :** `admin` - - **Adresse e-mail :** `admin@mail.com` - - **Mot de passe :** `admin` - - **Numéro de téléphone :** `0909090909` - -> Il est bien sûr possible de modifier ces valeurs dans le fichier ``docker/php/.env`` avant le premier lancement du seeder, en utilisant les variables : ``ADMIN_NAME``, ``ADMIN_LASTNAME``, ``ADMIN_MAIL``, ``ADMIN_PASSWORD``et ``ADMIN_PHONE_NUMBER`` -## Installation et lancement - -Une fois la configuration terminée : - -1. Ouvrez un terminal. -2. Placez-vous à la racine du projet. -3. Exécutez les commandes suivantes dans l'ordre : - + +### 2. Configuration du fichier `.env` php + +Répétez la même opération pour le fichier `docker/php/.env` en copiant depuis `docker/php/.env.example`. + +De plus, un utilisateur administrateur est automatiquement créé avec les informations suivantes : +- **Prénom :** `admin` +- **Nom :** `admin` +- **Adresse e-mail :** `admin@mail.com` +- **Mot de passe :** `admin` +- **Numéro de téléphone :** `0909090909` + +> Il est bien sûr possible de modifier ces valeurs dans le fichier ``docker/php/.env`` avant le premier lancement du seeder, en utilisant les variables : ``ADMIN_NAME``, ``ADMIN_LASTNAME``, ``ADMIN_MAIL``, ``ADMIN_PASSWORD``et ``ADMIN_PHONE_NUMBER`` + +### 3. Note importante + +> ⚠️ Si vous êtes sous **Windows**, assurez-vous que tous les fichiers `.sh` utilisent des fins de ligne **LF** et non **CRLF**, sous peine d’erreurs lors de l’exécution des scripts. + +## Installation et lancement + +Une fois la configuration terminée : + +1. Ouvrez un terminal. +2. Placez-vous à la racine du projet. +3. Exécutez les commandes suivantes dans l'ordre : + ```bash docker compose down -v ``` - + > Arrête et supprime les conteneurs existants ainsi que les volumes associés. -> Cette étape permet de repartir sur une base propre. - +> Cette étape permet de repartir sur une base propre. + ```bash compose up --build -d ``` - + > Reconstruit les images Docker et démarre l’ensemble des services en arrière-plan. - -## Note importante - -> ⚠️ Si vous êtes sous **Windows**, assurez-vous que tous les fichiers `.sh` utilisent des fins de ligne **LF** et non **CRLF**, sous peine d’erreurs lors de l’exécution des scripts. + +## Point technique + +### 1. Le nommage + +Nous avons adopté une convention de nommage en **camelCase** pour les variables, fonctions et fichiers JavaScript côté frontend. +Pour les composants React, nous utilisons la convention **PascalCase** afin de les différencier des éléments HTML. + +Côté backend (Laravel), nous respectons les conventions PHP : +- **camelCase** pour les variables et méthodes +- **PascalCase** pour les classes (Controllers, Models, Policies, etc.) + +Les noms sont choisis de manière explicite et descriptive afin de faciliter la compréhension du code et sa maintenance. \ No newline at end of file