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.
4.9 KiB
4.9 KiB
KROW Project Plan & Task Breakdown
This document breaks down the technical roadmap into actionable tasks, assigned by role, ready to be converted into GitHub Issues.
Milestone 1: Foundation & Dev Environment Setup
Goal: Establish a fully functional, shared dev environment on GCP/Firebase that all developers can connect to.
Infrastructure & Tooling (Primarily CTO)
- Issue:
[Infra] Setup Enpass for Team Credential Management- Description: Configure the team's Enpass vault and establish the process for sharing secrets and service account keys.
- Issue:
[Infra] Create GCP/Firebase Projects (dev, staging, prod)- Description: Set up the three distinct Google Cloud projects and associated Firebase projects. Enable required APIs (Auth, Cloud SQL, Data Connect).
- Issue:
[Infra] Create Multi-Env Makefile- Description: Create the main
Makefileinspired by the reference project. It should handle environment switching (ENV=dev/staging) and orchestrate all build/deploy tasks.
- Description: Create the main
- Issue:
[Infra] Setup Shared Dev Database- Description: Provision the initial Cloud SQL for PostgreSQL instance for the
devenvironment.
- Description: Provision the initial Cloud SQL for PostgreSQL instance for the
Backend & Web (Dev 1)
- Issue:
[Backend] Define GraphQL Schema for Core Entities- Description: Translate
Event,Staff,Vendor, andUserschemas fromapi_specification.mdinto.gqlfiles for Data Connect.
- Description: Translate
- Issue:
[Backend] Deploy Initial Schema & Operations to Dev Env- Description: Use the
Makefileto deploy the initial Data Connect schema and basiclist/getqueries to thedevproject.
- Description: Use the
- Issue:
[Web] Generate TypeScript SDK for Dev Env- Description: Configure and run the SDK generation command to create the TypeScript SDK pointing to the
devenvironment.
- Description: Configure and run the SDK generation command to create the TypeScript SDK pointing to the
- Issue:
[Web] Connect Web App to Dev Backend- Description: Modify the web app to use the generated SDK. The goal is to authenticate and display a list of events from the shared
devbackend.
- Description: Modify the web app to use the generated SDK. The goal is to authenticate and display a list of events from the shared
Mobile (Dev 2)
- Issue:
[Mobile] Generate Flutter SDK for Dev Env- Description: Configure and run the SDK generation command to create the Flutter SDK pointing to the
devenvironment.
- Description: Configure and run the SDK generation command to create the Flutter SDK pointing to the
- Issue:
[Mobile] Implement Firebase Auth Flow- Description: Ensure both mobile apps can sign in and sign up using Firebase Auth against the
devproject.
- Description: Ensure both mobile apps can sign in and sign up using Firebase Auth against the
- Issue:
[Mobile] Create Proof-of-Concept Screen- Description: Build a simple screen in the Staff app that authenticates and fetches a list of events from the
devbackend using the new SDK.
- Description: Build a simple screen in the Staff app that authenticates and fetches a list of events from the
Milestone 2: Core Feature Implementation
Goal: Achieve functional parity with the Base44 prototype across all platforms, using the shared dev backend.
Backend (Dev 1)
- Epic:
[Backend] Implement Full API Logic- Description: Create all necessary GraphQL queries and mutations in Data Connect for all entities defined in
api_specification.md. Deploy them continuously to thedevenvironment.
- Description: Create all necessary GraphQL queries and mutations in Data Connect for all entities defined in
Web (Dev 1, with support from Dev 2)
- Epic:
[Web] Full Application Re-wiring- Description: Systematically replace all data-fetching logic in the web app to use the TanStack Query hooks from the generated Data Connect SDK.
Mobile (Dev 2)
- Epic:
[Mobile] Full Application Re-wiring- Description: Refactor the
repositoriesandapi_providersin both the Client and Staff Flutter apps to use the generated Data Connect SDK for all network calls.
- Description: Refactor the
Milestone 3: Production Readiness & Go-Live
Goal: Automate, secure, and deploy the entire platform to production.
Infrastructure & DevOps (CTO & Team)
- Issue:
[CI/CD] Configure Web App Deployment Pipeline- Description: Set up a GitHub Actions pipeline that builds and deploys the web app to Firebase Hosting, with separate jobs for
stagingandprod.
- Description: Set up a GitHub Actions pipeline that builds and deploys the web app to Firebase Hosting, with separate jobs for
- Issue:
[CI/CD] Configure Mobile App Deployment with CodeMagic- Description: Set up CodeMagic pipelines to build and deploy the iOS and Android apps to TestFlight/Play Store Internal Testing.
- Issue:
[CI/CD] Configure Backend Deployment Pipeline- Description: Automate the deployment of the Data Connect schema and operations (
firebase deploy --only dataconnect).
- Description: Automate the deployment of the Data Connect schema and operations (
- Issue:
[Data] Create & Test Initial Data Import Scripts- Description: Write scripts to populate the production database with any necessary initial data.
- Issue:
[QA] Deploy to Staging & Perform E2E Testing- Description: Use the
Makefile(make deploy ENV=staging) to deploy the entire stack to the staging environment for full end-to-end testing.
- Description: Use the
- Issue:
[Ops] Final Production Deployment- Description: Run the production deployment (
make deploy ENV=prod) and execute data import scripts.
- Description: Run the production deployment (
- Issue:
[Ops] Setup Monitoring & Alerting- Description: Configure monitoring dashboards in Google Cloud for the database, API, and application performance.