feat: Initialize monorepo structure and comprehensive documentation

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.
This commit is contained in:
bwnyasse
2025-11-12 12:50:55 -05:00
parent 92fd0118be
commit 554dc9f9e3
203 changed files with 1414 additions and 732 deletions

View File

@@ -1,72 +1,55 @@
# KROW Workforce - Frontend
# KROW Workforce Platform
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).
This monorepo contains the complete source code for the KROW Workforce platform, including the web frontend, mobile applications, and backend services.
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.
## 🚀 What's in this Monorepo?
---
- **/firebase/**: Contains the Firebase Data Connect configuration (GraphQL schema, queries, mutations) and Firebase Hosting configuration.
- **/frontend-web/**: The React/Vite web application used by administrators and managers.
- **/mobile-apps/**: Contains the two Flutter-based mobile applications:
- `client-app`: For clients managing events.
- `staff-app`: For staff members managing their shifts and profile.
- **/docs/**: All project documentation (vision, roadmaps, architecture, guides).
- **/scripts/**: Automation scripts used by the `Makefile`.
- **/secrets/**: Contains sensitive credentials (ignored by Git).
## 🚀 Démarrage Rapide
## ▶️ Getting Started
Ce projet utilise un `Makefile` comme point d'entrée principal pour toutes les commandes courantes.
This project uses a central `Makefile` to orchestrate all common tasks.
### 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 :**
1. **Install Dependencies:**
```bash
make install
```
*(This will install dependencies for the web frontend. Mobile dependency installation is handled within their respective directories.)*
2. **Lancer le serveur de développement :**
2. **Run a Service:**
- To run the web frontend: `make dev`
- *(Additional commands for mobile and backend will be added as development progresses.)*
3. **See All Commands:**
For a full list of available commands, run:
```bash
make dev
bash
make help
```
L'application sera disponible sur `http://localhost:5173`.
## 🤝 Contributing
New to the KROW team? Start here to set up your environment and understand our development practices: **[CONTRIBUTING.md](./CONTRIBUTING.md)**
---
## 🔄 Workflow d'Intégration des Mises à Jour de Base44
## 📚 Documentation Overview
Pour intégrer les nouvelles modifications de l'UI faites par la cliente sur la plateforme Base44, suivez ce processus rigoureux :
This section provides a quick guide to the most important documentation files in this monorepo, ordered by logical reading flow:
### 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.
- **[00-vision.md](./docs/00-vision.md)**: The "Why" behind the KROW platform, outlining our core objectives and guiding principles.
- **[01-product-functional-roadmap.md](./docs/01-product-functional-roadmap.md)**: The "What" we are building, from a user-facing features perspective.
- **[02-architecture-overview.md](./docs/02-architecture-overview.md)**: Visual diagrams explaining the technical architecture of our web and mobile applications.
- **[03-backend-api-specification.md](./docs/03-backend-api-specification.md)**: The detailed technical specification for our custom backend API.
- **[04-strategy-technical-roadmap.md](./docs/04-strategy-technical-roadmap.md)**: Our strategic plan for building the platform, outlining phases and milestones.
- **[05-project-plan.md](./docs/05-project-plan.md)**: A detailed breakdown of tasks by milestone, ready for GitHub Issues.
- **[06-maintenance-guide.md](./docs/06-maintenance-guide.md)**: The operational manual for integrating updates from the Base44 visual builder.
- **[07-reference-base44-api-export.md](./docs/07-reference-base44-api-export.md)**: The raw API documentation exported from Base44, used as a reference.
- **[08-reference-base44-prompts.md](./docs/08-reference-base44-prompts.md)**: A collection of standardized prompts for interacting with the Base44 AI.