Files
Krow-workspace/docs/02-architecture-overview.md
bwnyasse 554dc9f9e3 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.
2025-11-12 12:50:55 -05:00

95 lines
3.5 KiB
Markdown

# KROW Project Workflows
This document contains diagrams describing the technical architecture and collaboration processes for the project.
## 1. Web App Migration Architecture
This diagram illustrates the migration workflow for the web application. It shows how the UI is exported from the Base44 environment and then connected to our new, unified backend built on Firebase services.
```mermaid
graph LR
subgraph Base44 Environment
direction TB
Client[Client] -- Modifies --> B44_UI[<b>Base44 Visual Builder</b><br><i>Features:</i><br>- Event Management<br>- Staff Directory]
B44_UI --> B44_Backend[<b>Base44 Backend</b><br>Provides Schemas & SDK]
end
subgraph Firebase Ecosystem - GCP
direction TB
KROW_FE[<b>KROW Web Frontend</b><br>Vite/React + TanStack Query]
subgraph Firebase Services
direction TB
Auth[Firebase Authentication]
DataConnect[<b>Firebase Data Connect</b><br>GraphQL API]
SQL_DB[<b>Cloud SQL for PostgreSQL</b>]
end
KROW_FE -- "Uses" --> Auth
KROW_FE -- "Calls API via SDK" --> DataConnect
DataConnect -- "Manages & Queries" --> SQL_DB
end
B44_UI -- "<b>UI Code Export</b>" --> KROW_FE
style Client fill:#f9f,stroke:#333,stroke-width:2px
style B44_UI fill:#ffe,stroke:#333,stroke-width:2px
style KROW_FE fill:#eef,stroke:#333,stroke-width:2px
```
## 2. Mobile App Architecture
This diagram shows how the native mobile applications (Client and Staff) connect to the centralized Firebase backend. This backend is the same one used by the web application.
```mermaid
graph TD
subgraph KROW Mobile Applications
direction LR
Mobile_Client[<b>Mobile Client App</b><br>Flutter]
Mobile_Staff[<b>Mobile Staff App</b><br>Flutter]
end
subgraph Firebase Backend Services - GCP
direction TB
Auth[Firebase Authentication]
DataConnect[<b>Firebase Data Connect</b><br>GraphQL API &<br>Generated SDKs]
SQL_DB[<b>Cloud SQL for PostgreSQL</b><br><i>Managed by Data Connect</i>]
end
Mobile_Client -- "Authenticates with" --> Auth
Mobile_Client -- "Calls API via generated SDK" --> DataConnect
Mobile_Staff -- "Authenticates with" --> Auth
Mobile_Staff -- "Calls API via generated SDK" --> DataConnect
DataConnect -- "Manages & Queries" --> SQL_DB
style Mobile_Client fill:#eef,stroke:#333,stroke-width:2px
style Mobile_Staff fill:#eef,stroke:#333,stroke-width:2px
```
## 3. Collaboration Workflow for Modifications
This diagram formalizes the process to follow for any modifications initiated by the client on the Base44 platform. The objective is to control the pace of changes and evaluate their impact on our backend before integration.
```mermaid
flowchart TD
A[Client identifies a need<br>for modification] --> B{Define functionality<br>and scope};
B --> C{Does the modification impact<br>only the UI or also<br>logic/data?};
C -- "UI Only" --> D[Client makes modifications<br>on Base44];
C -- "Logic/Data" --> E[Team-Client Coordination<br>to assess impact on GCP backend];
D --> F[Planned export of the<br>new UI version];
E --> F;
F --> G["Developer runs the automation<br>1. `make integrate-export`<br>2. `make prepare-export`"];
G --> H[Development & Testing<br>- Adapt GCP backend if needed<br>- Validate locally];
H --> I[✅ Integration complete];
style A fill:#f9f,stroke:#333,stroke-width:2px
style D fill:#f9f,stroke:#333,stroke-width:2px
```