Achintha Isuru f39f8860ea Persist verificationId for staff certificates
Add support for verificationId throughout the certificate flow: schema, GraphQL mutations/queries, domain, repositories, service implementation, and UI.

- Backend: add verificationId to Certificate schema and include it in upsert/create mutations; add auth insecureReason notes to related connector operations.
- Data layer: add verificationId parameter to StaffConnectorRepository API and propagation in implementation (SDK call remains commented with FIXME until dataconnect SDK is regenerated).
- Domain: add verificationId field to StaffCertificate (constructor, copyWith, props).
- Certificates flow: create verification via verificationService, pass returned verificationId to upsertStaffCertificate so the verification record is persisted with the certificate.
- UI: update certificate upload page to show existing file path, disable editing of name/issuer/number, rearrange fields, move remove button, change file icon and text style.
- Misc: minor lambda formatting cleanup in benefits mapping.

Note: the generated dataconnect SDK must be refreshed to enable the new .verificationId(...) call (there is a commented FIXME in the connector implementation).
2026-02-27 15:27:15 -05:00
2026-01-10 21:22:35 -05:00
2026-02-26 15:13:26 -05:00
2026-02-04 11:56:19 +05:30
2026-02-19 00:47:58 -05:00

KROW Workforce Monorepo

KROW is a comprehensive workforce management platform designed to streamline operations for events, hospitality, and enterprise staffing. This monorepo contains all components of the ecosystem, from the data layer to the user-facing applications.

🚀 Repository Structure

📦 Apps (/apps)

These are the production-ready applications for our users:

  • web-dashboard/: The primary React/Vite dashboard for Admin, Vendors, and Clients.
  • mobile/: Flutter applications for client and staff.
  • client: The application for final clients to manage orders and billing.
  • staff: The application for staff members (scheduling, clock-in/out, earnings).

⚙️ Backend (/backend)

The core data engine powering all applications:

  • dataconnect/: Firebase Data Connect configuration, GraphQL schemas (PostgreSQL), and auto-generated SDKs.

🛠️ Internal (/internal)

Tools and resources for the development and operations team:

  • launchpad/: A secure portal (DevOps Launchpad) to access internal resources, documentation, and infrastructure links.
  • api-harness/: A technical tool for testing and validating the Data Connect API and Cloud Functions.
  • prototypes/: Reference code and visual prototypes (synchronized from external sources).

📂 Support Directories

  • /docs: Project vision, technical specifications, and guides.
  • /makefiles: Modularized Makefile logic for project automation.
  • /scripts: Automation scripts (security, hachage, environment setup).
  • /firebase: Global Firebase configuration (Firestore/Storage rules).

🛠️ Tech Stack

  • Frontend: React (Vite)
  • Mobile: Flutter
  • Backend: Firebase (Data Connect, Auth, Hosting, Functions)
  • Database: PostgreSQL (managed via Cloud SQL & Data Connect)
  • Infrastructure: Google Cloud Platform (GCP)

📦 Getting Started

This project uses a modular Makefile for all common tasks.

  1. View available commands:

    make help
    
  2. Install dependencies (Web):

    make install
    
  3. Run the Web Dashboard locally:

    make dev
    
  4. Run the DevOps Launchpad locally:

    make launchpad-dev
    

📚 Documentation

Mobile Development Documentation

🤝 Contributing

New to the team? Please read our Contributing Guide to get your environment set up and understand our workflow.


© 2026 KROW Workforce / Oloodi Technologies Inc.

Description
No description provided
Readme 25 MiB
Languages
Dart 56.5%
JavaScript 20.8%
TypeScript 11.8%
Python 2.2%
C++ 2%
Other 6.7%