This commit introduces a comprehensive document outlining the
KROW Workforce Platform project, covering vision, architecture,
domain logic, feature gap analysis, and development strategy.
The document serves as a central source of truth for team
onboarding and sprint planning, ensuring alignment and
consistency across the project. It details the migration from
a legacy system to a new GCP-based architecture using Firebase
Data Connect, Cloud Functions, and Cloud SQL.
Key aspects covered include:
- Project vision and business value proposition
- System architecture and technology stack comparison
- Core domain logic and entity definitions
- Feature gap analysis between legacy and prototype apps
- Data Connect schema evolution and development strategy
- Definition of Done (DoD) for features and sprints
The document also includes appendices with entity relationship
summaries, status enum references, and key file locations.
feat(internal/launchpad): add iframe viewer for prototypes and update links loader
This commit introduces an iframe viewer in the launchpad to display prototypes directly within the application. It also updates the links loader to handle prototype links differently, opening them in the iframe instead of a new tab.
The contributing guide has been updated to include a list of required development tools and recommended IDE setup, ensuring that contributors have the necessary tools to work on the project.
feat(scripts): add mobile client and staff prototype sync
feat(scripts): use FLUTTER_CMD variable for flutter commands
feat(scripts): add FVM support and error handling
feat(scripts): patch vite config for relative paths
chore(scripts): remove .keep files from mobile prototypes
This commit introduces a new feature to synchronize prototypes
from an external repository for local development and to provide
context for AI tools.
- Added `make sync-prototypes` target to Makefile to build and
copy prototypes from the adjacent 'client-krow-poc' repository.
- Added `.geminiignore` entries to prevent Gemini from ignoring
prototypes, ensuring they are available for context.
- Added `.gitignore` entries to ignore generated prototype files,
except for the `.keep` files, to keep the directories.
- Added `04-sync-prototypes.md` documentation to explain how to
sync prototypes.
- Removed empty `internal/prototypes/.keep` file.
This commit introduces a new document explaining how to synchronize visual prototypes and POCs into the monorepo.
It also adds a script to automate the process of building and copying the prototype files into the `internal/launchpad/prototypes/web/` directory.
The documentation explains the benefits of synchronizing prototypes, the prerequisites, and the steps to synchronize them.
The script automates the process of installing dependencies, building the web application, and copying the resulting `dist/` folder into the `internal/launchpad/prototypes/web/` directory.
This allows developers to easily synchronize prototypes and make them available for local preview and deployment.
This commit restructures the monorepo to improve organization,
maintainability, and scalability. The changes include:
- Moving mobile apps from `mobile-apps/` to `apps/mobile-*`.
- Moving the web dashboard from `admin-web/` and `frontend-web/`
to `apps/web-dashboard/`.
- Moving Firebase-related files to the root `firebase/` directory.
- Adding a `.geminiignore` file to exclude unnecessary files from
Gemini analysis.
- Updating `.gitignore` to reflect the new structure and exclude
sensitive files.
- Updating `codemagic.yaml` to reflect the new app locations.
- Adding a `make help` command to the root directory.
- Adding a `make install-git-hooks` command to install git hooks.
- Adding a `docs/02-codemagic-env-vars.md` file to document
Codemagic environment variables.
- Adding a `docs/03-contributing.md` file to document
contribution guidelines.
- Adding prototype placeholders to the internal launchpad.
- Updating the `README.md` file to reflect the new structure and
provide updated instructions.
These changes improve the overall structure of the monorepo and
make it easier to develop, maintain, and scale the KROW Workforce
platform.
This commit introduces a new document, `docs/01-backend-api-specification.md`, which outlines the backend API specification for the KROW Workforce platform. This document serves as a reference for the development of the backend using Firebase Data Connect and Cloud Functions, replacing the Base44 backend. It includes details on authentication, data API, services API, security, migration notes, and implementation priority.
feat: remove obsolete documentation files
This commit removes several obsolete documentation files that are no longer relevant to the project. The removed files include:
- `docs/01-product-functional-roadmap.md`: This file contained the product roadmap, which is now outdated.
- `docs/02-architecture-overview.md`: This file provided an overview of the architecture, which has been superseded by more recent documentation.
- `docs/03-backend-api-specification.md`: This file contained the backend API specification, which has been replaced by `docs/01-backend-api-specification.md`.
- `docs/04-strategy-technical-roadmap.md`: This file outlined the technical roadmap, which is now outdated.
- `docs/05-project-plan.md`: This file contained the project plan, which is no longer current.
- `docs/06-maintenance-guide.md`: This file provided a maintenance guide, which is no longer applicable.
- `docs/07-reference-base44-api-export-v3.md`: This file contained a reference to the Base44 API export, which is no longer needed.
chore: remove obsolete documentation files
This commit removes several documentation files that are no longer
relevant or have been superseded by other documentation. Removing
these files helps to keep the repository clean and organized.
The following files were removed:
- `docs/07-reference-base44-api-export.md`
- `docs/08-reference-base44-prompts.md`
- `docs/09-sred-tracking.md`
- `docs/10-development-conventions.md`
- `docs/flows/vendor-flow.md`
- `docs/issues/template.md`
- `docs/prompts/create-codemagic-monorepo.md`
- `docs/prompts/create-full-architecture-diagram-flutter.md`
- `docs/prompts/create-mermaid-be-diagrams-flutter.md`
- `docs/prompts/create-mermaid-overview-flutter.md`
- `docs/prompts/create-mermaid-usecase-flutter.md`
The issue templates for Base44 backend validation, frontend
update, and SR&ED tasks, as well as the Base44 entity schemas
reference document, are no longer needed and have been removed
to reduce clutter and improve maintainability. These files were
specific to a previous architecture and are not relevant to the
current project.
feat(Makefile): introduce common.mk for shared variables and environment configuration
feat(Makefile): create web.mk for web frontend-related tasks
feat(Makefile): create launchpad.mk for internal launchpad deployment tasks
feat(Makefile): create mobile.mk for mobile app development tasks
feat(Makefile): create dataconnect.mk for Data Connect management tasks
feat(Makefile): create tools.mk for development tools like git hooks
feat(Makefile): remove admin-web specific tasks and files as the admin console is no longer actively maintained
feat(Makefile): update help command to reflect the new modular structure and available commands
feat(Makefile): remove base44 export workflow as it is no longer relevant
feat(Makefile): remove IAP configuration as it is no longer used
feat(Makefile): remove harness-related tasks as they are no longer relevant
The Makefile has been significantly refactored to improve organization and maintainability. The changes include:
- Modularization: The monolithic Makefile has been split into smaller, more manageable files, each responsible for a specific area of the project (web, launchpad, mobile, dataconnect, tools).
- Common Configuration: Shared variables and environment configuration are now centralized in common.mk.
- Removal of Unused Tasks: Tasks related to the admin console, base44 export workflow, IAP configuration, and API test harness have been removed as they are no longer relevant.
- Updated Help Command: The help command has been updated to reflect the new modular structure and available commands.
- Improved Readability: The modular structure makes the Makefile easier to read and understand.
- Maintainability: The modular structure makes it easier to maintain and update the Makefile.
- Scalability: The modular structure makes it easier to add new tasks and features to the Makefile.
These files contained outdated analysis and planning
related to the mobile app and data modeling. They are
no longer relevant to the current state of the project
and were removed to reduce clutter and confusion.
docs: remove outdated mock data analysis document
The file `validation_staff_mock_dataconecct_last_update.md`
contained an outdated analysis of mock data structures
compared to the Data Connect schema. This information is
no longer relevant and the file has been removed to
maintain a clean and up-to-date repository.
docs: remove outdated mock data analysis document v2
The file `validation_staff_mock_dataconecct_v2.md`
contained an outdated analysis of mock data structures
compared to the Data Connect schema. This information is
no longer relevant and the file has been removed to
maintain a clean and up-to-date repository.
This commit introduces a more secure method for verifying user
access to the internal launchpad by hashing email addresses.
- Replaces the plain-text email list with SHA-256 hashes.
- Adds a script to generate these hashes from `iap-users.txt`.
- Updates the launchpad HTML to hash the input email and compare
it against the `allowed-hashes.json` file.
- Updates Makefile to generate hashes before deploy and serve.
- Adds .keep file for krow_client folder.
feat(firebase.json): remove site property from api-harness hosting config
feat(firebase): migrate launchpad to firebase hosting with auth
This commit migrates the internal launchpad from Cloud Run with IAP
to Firebase Hosting with Firebase Authentication. This change
simplifies the deployment process and leverages Firebase's authentication
capabilities for user access control.
The following changes were made:
- Updated the Makefile to remove Cloud Run deployment tasks and add
Firebase Hosting deployment tasks.
- Removed the Dockerfile and .gcloudignore files, as they are no longer
needed for Firebase Hosting.
- Updated the firebase.json file to configure Firebase Hosting for the
launchpad.
- Modified the launchpad's index.html to include Firebase Authentication
logic.
- Updated the iap-users.txt file to be used as a whitelist for Firebase
Authentication.
- Added a launchpad-dev target to run the launchpad locally using the
Firebase Hosting emulator.
- Removed the configure-iap-launchpad target, as IAP is no longer used.
- Removed the site property from the api-harness hosting configuration
in firebase.json, as it is not needed.
The migration to Firebase Hosting provides the following benefits:
- Simplified deployment process.
- Firebase Authentication for user access control.
- Improved scalability and reliability.
- Reduced operational overhead.