This commit establishes the new monorepo architecture for the KROW Workforce platform. Key changes include: - Reorganized project into `frontend-web`, `mobile-apps`, `firebase`, `scripts`, and `secrets` directories. - Updated `Makefile` to support the new monorepo layout and automate Base44 export integration. - Fixed `scripts/prepare-export.js` for ES module compatibility and global component import resolution. - Created and updated `CONTRIBUTING.md` for developer onboarding. - Restructured, renamed, and translated all `docs/` files for clarity and consistency. - Implemented an interactive internal launchpad with diagram viewing capabilities. - Configured base Firebase project files (`firebase.json`, security rules). - Updated `README.md` to reflect the new project structure and documentation overview.
73 lines
3.2 KiB
Markdown
73 lines
3.2 KiB
Markdown
# KROW Workforce - Frontend
|
|
|
|
Ce projet contient le code du frontend pour la plateforme KROW Workforce. Il a été initialement prototypé sur la plateforme low-code Base44 et est en cours de migration vers une infrastructure backend personnalisée sur Google Cloud Platform (GCP).
|
|
|
|
Ce `README.md` est le guide officiel pour l'équipe de développement. **NE PAS REMPLACER** ce fichier par celui fourni dans les exports de Base44.
|
|
|
|
---
|
|
|
|
## 🚀 Démarrage Rapide
|
|
|
|
Ce projet utilise un `Makefile` comme point d'entrée principal pour toutes les commandes courantes.
|
|
|
|
### Prérequis
|
|
- Node.js (version LTS recommandée)
|
|
- npm
|
|
- `make` (généralement pré-installé sur Linux et macOS)
|
|
|
|
### Installation et Lancement
|
|
1. **Installer les dépendances :**
|
|
```bash
|
|
make install
|
|
```
|
|
|
|
2. **Lancer le serveur de développement :**
|
|
```bash
|
|
make dev
|
|
```
|
|
L'application sera disponible sur `http://localhost:5173`.
|
|
|
|
---
|
|
|
|
## 🔄 Workflow d'Intégration des Mises à Jour de Base44
|
|
|
|
Pour intégrer les nouvelles modifications de l'UI faites par la cliente sur la plateforme Base44, suivez ce processus rigoureux :
|
|
|
|
### 1. Valider les Changements d'API
|
|
Avant d'intégrer le nouveau code, il est impératif de mettre à jour notre documentation API et notre spécification technique. Suivez rigoureusement la procédure détaillée dans le fichier `docs/MAINTENANCE_GUIDE.md`.
|
|
|
|
### 2. Intégrer le Nouveau Frontend
|
|
1. **Créez une branche dédiée** dans Git :
|
|
```bash
|
|
git checkout -b integration/base44-update-YYYY-MM-DD
|
|
```
|
|
2. **Placez l'export** de Base44 dans un dossier nommé `krow-workforce-web-export-latest` à côté du dossier de ce projet. La structure attendue est :
|
|
```
|
|
- /krow-workforce-web/ (ce projet)
|
|
- /krow-workforce-web-export-latest/ (le nouvel export)
|
|
```
|
|
3. **Exécutez la commande d'intégration** pour copier automatiquement les fichiers `src` et `index.html` :
|
|
```bash
|
|
make integrate-export
|
|
```
|
|
4. **Exécutez le script de préparation** pour neutraliser le SDK Base44 et appliquer nos patchs :
|
|
```bash
|
|
make prepare-export
|
|
```
|
|
5. **Analysez les différences** avec `git diff`. Intégrez les nouveaux composants et les modifications de l'UI, mais **rejetez les changements** sur les fichiers que nous avons patchés (`src/api/base44Client.js`, `src/main.jsx`, `src/pages/Layout.jsx`) pour conserver notre environnement local fonctionnel. Vérifiez également `package.json` pour toute nouvelle dépendance à ajouter manuellement.
|
|
6. **Testez l'application** en local avec `make dev` pour vous assurer que tout fonctionne comme prévu.
|
|
7. Commitez vos changements.
|
|
|
|
---
|
|
|
|
## 📂 Structure du Projet
|
|
|
|
- `scripts/prepare-export.js`: Script de patching pour le workflow hybride.
|
|
- `docs/`: Contient la documentation du projet (spécification de l'API, guides...).
|
|
- `src/`: Code source de l'application.
|
|
- `src/api/`: Contient la configuration du client API (actuellement mocké).
|
|
- `src/components/`: Composants React réutilisables.
|
|
- `src/pages/`: Vues principales de l'application, correspondant aux routes.
|
|
- `src/lib/`: Utilitaires et bibliothèques partagées.
|
|
- `Makefile`: Orchestrateur des commandes du projet.
|