From b8d07380c0ade512ffb4b491fb29d79512568bd1 Mon Sep 17 00:00:00 2001 From: Achintha Isuru Date: Thu, 26 Feb 2026 15:13:26 -0500 Subject: [PATCH] replace the "Krow" with "KROW" --- .../android/app/src/main/AndroidManifest.xml | 2 +- apps/mobile/apps/client/ios/Runner/Info.plist | 4 +- apps/mobile/apps/client/lib/main.dart | 17 ++++-- apps/mobile/apps/client/pubspec.yaml | 2 +- .../ios/Runner/Info.plist | 2 +- .../android/app/src/main/AndroidManifest.xml | 2 +- apps/mobile/apps/staff/ios/Runner/Info.plist | 4 +- apps/mobile/apps/staff/pubspec.yaml | 2 +- .../core/lib/src/routing/staff/navigator.dart | 2 +- .../lib/src/routing/staff/route_paths.dart | 2 +- .../src/services/api_service/dio_client.dart | 2 +- .../lib/src/l10n/en.i18n.json | 12 ++-- .../lib/src/l10n/es.i18n.json | 12 ++-- .../lib/src/widgets/ui_app_bar.dart | 2 +- .../lib/src/widgets/ui_text_field.dart | 56 +++++++++--------- .../auth_repository_impl.dart | 2 +- .../features/client/orders/analyze_output.txt | Bin 2792 -> 2792 bytes .../presentation/pages/create_order_page.dart | 2 +- .../pages/one_time_order_page.dart | 9 +-- .../presentation/pages/rapid_order_page.dart | 2 +- .../widgets/worker/more_ways_widget.dart | 18 +++--- .../lib/src/assets/legal/privacy_policy.txt | 4 +- .../lib/src/assets/legal/terms_of_service.txt | 24 ++++---- apps/web/index.html | 2 +- apps/web/src/features/auth/ForgotPassword.tsx | 4 +- apps/web/src/features/auth/Login.tsx | 4 +- .../features/operations/schedule/Schedule.tsx | 2 +- backend/dataconnect/functions/seed.gql | 22 +++---- backend/dataconnect/functions/seed_val.gql | 22 +++---- docs/ARCHITECTURE/architecture.md | 10 ++-- .../client-mobile-application/use-case.md | 2 +- .../staff-mobile-application/use-case.md | 8 +-- docs/ARCHITECTURE/system-bible.md | 12 ++-- docs/ARCHITECTURE/web-application/use-case.md | 2 +- .../DOCUMENTS/backend_manual.md | 2 +- docs/MILESTONES/M3/demos/m3-client-note.md | 2 +- docs/MILESTONES/M3/demos/m3-notes.md | 2 +- docs/MILESTONES/M3/demos/m3.md | 2 +- .../planning/m4-core-data-actors-scenarios.md | 4 +- .../m4-roadmap-csv-schema-reconciliation.md | 26 ++++---- docs/MOBILE/04-use-case-completion-audit.md | 12 ++-- .../research/maestro-test-run-instructions.md | 2 +- .../api-harness/src/components/Layout.jsx | 2 +- .../documents/data connect/backend_manual.md | 2 +- .../assets/documents/legacy/architecture.md | 16 ++--- .../client-mobile-application/architecture.md | 16 ++--- .../client-mobile-application/use-case.md | 2 +- .../staff-mobile-application/architecture.md | 10 ++-- .../staff-mobile-application/use-case.md | 4 +- .../assets/documents/legacy/system-bible.md | 10 ++-- .../legacy/web-application/architecture.md | 8 +-- .../legacy/web-application/use-case.md | 2 +- .../documents/prototype/architecture.md | 10 ++-- .../client-mobile-application/use-case.md | 2 +- .../staff-mobile-application/architecture.md | 4 +- .../staff-mobile-application/use-case.md | 8 +-- .../documents/prototype/system-bible.md | 12 ++-- .../prototype/web-application/architecture.md | 4 +- .../prototype/web-application/use-case.md | 6 +- internal/launchpad/index.html | 8 +-- 60 files changed, 225 insertions(+), 227 deletions(-) diff --git a/apps/mobile/apps/client/android/app/src/main/AndroidManifest.xml b/apps/mobile/apps/client/android/app/src/main/AndroidManifest.xml index da643f20..555727c2 100644 --- a/apps/mobile/apps/client/android/app/src/main/AndroidManifest.xml +++ b/apps/mobile/apps/client/android/app/src/main/AndroidManifest.xml @@ -1,6 +1,6 @@ CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName - Krow With Us Client + KROW With Us Client CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -13,7 +13,7 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleName - Krow With Us Client + KROW With Us Client CFBundlePackageType APPL CFBundleShortVersionString diff --git a/apps/mobile/apps/client/lib/main.dart b/apps/mobile/apps/client/lib/main.dart index a0e67c19..2917828c 100644 --- a/apps/mobile/apps/client/lib/main.dart +++ b/apps/mobile/apps/client/lib/main.dart @@ -24,7 +24,7 @@ void main() async { await Firebase.initializeApp( options: kIsWeb ? DefaultFirebaseOptions.currentPlatform : null, ); - + // Register global BLoC observer for centralized error logging Bloc.observer = CoreBlocObserver( logEvents: true, @@ -33,9 +33,13 @@ void main() async { // Initialize session listener for Firebase Auth state changes DataConnectService.instance.initializeAuthListener( - allowedRoles: ['CLIENT', 'BUSINESS', 'BOTH'], // Only allow users with CLIENT, BUSINESS, or BOTH roles + allowedRoles: [ + 'CLIENT', + 'BUSINESS', + 'BOTH', + ], // Only allow users with CLIENT, BUSINESS, or BOTH roles ); - + runApp( ModularApp( module: AppModule(), @@ -52,7 +56,10 @@ class AppModule extends Module { @override void routes(RouteManager r) { // Initial route points to the client authentication flow - r.module(ClientPaths.root, module: client_authentication.ClientAuthenticationModule()); + r.module( + ClientPaths.root, + module: client_authentication.ClientAuthenticationModule(), + ); // Client main shell with bottom navigation (includes home as a child) r.module(ClientPaths.main, module: client_main.ClientMainModule()); @@ -95,7 +102,7 @@ class AppWidget extends StatelessWidget { return core_localization.TranslationProvider( child: MaterialApp.router( debugShowCheckedModeBanner: false, - title: "Krow Client", + title: "KROW Client", theme: UiTheme.light, routerConfig: Modular.routerConfig, locale: state.locale, diff --git a/apps/mobile/apps/client/pubspec.yaml b/apps/mobile/apps/client/pubspec.yaml index b4d6367b..f9e3d656 100644 --- a/apps/mobile/apps/client/pubspec.yaml +++ b/apps/mobile/apps/client/pubspec.yaml @@ -1,5 +1,5 @@ name: krowwithus_client -description: "Krow Client Application" +description: "KROW Client Application" publish_to: "none" version: 0.0.1-IlianaClientM3 resolution: workspace diff --git a/apps/mobile/apps/design_system_viewer/ios/Runner/Info.plist b/apps/mobile/apps/design_system_viewer/ios/Runner/Info.plist index 0c4dda83..6643f1f9 100644 --- a/apps/mobile/apps/design_system_viewer/ios/Runner/Info.plist +++ b/apps/mobile/apps/design_system_viewer/ios/Runner/Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName - Krow Design System Viewer + KROW Design System Viewer CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier diff --git a/apps/mobile/apps/staff/android/app/src/main/AndroidManifest.xml b/apps/mobile/apps/staff/android/app/src/main/AndroidManifest.xml index 83813ec6..0e093d51 100644 --- a/apps/mobile/apps/staff/android/app/src/main/AndroidManifest.xml +++ b/apps/mobile/apps/staff/android/app/src/main/AndroidManifest.xml @@ -1,6 +1,6 @@ CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName - Krow With Us Staff + KROW With Us Staff CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -13,7 +13,7 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleName - Krow With Us Staff + KROW With Us Staff CFBundlePackageType APPL CFBundleShortVersionString diff --git a/apps/mobile/apps/staff/pubspec.yaml b/apps/mobile/apps/staff/pubspec.yaml index d3b270ef..457446fd 100644 --- a/apps/mobile/apps/staff/pubspec.yaml +++ b/apps/mobile/apps/staff/pubspec.yaml @@ -1,5 +1,5 @@ name: krowwithus_staff -description: "Krow Staff Application" +description: "KROW Staff Application" publish_to: 'none' version: 0.0.1-IlianaStaffM3 resolution: workspace diff --git a/apps/mobile/packages/core/lib/src/routing/staff/navigator.dart b/apps/mobile/packages/core/lib/src/routing/staff/navigator.dart index 5d62480c..0cdc11e0 100644 --- a/apps/mobile/packages/core/lib/src/routing/staff/navigator.dart +++ b/apps/mobile/packages/core/lib/src/routing/staff/navigator.dart @@ -272,7 +272,7 @@ extension StaffNavigator on IModularNavigator { // ADDITIONAL FEATURES // ========================================================================== - /// Pushes the Krow University page (placeholder). + /// Pushes the KROW University page (placeholder). /// /// Access training materials and educational courses. void toKrowUniversity() { diff --git a/apps/mobile/packages/core/lib/src/routing/staff/route_paths.dart b/apps/mobile/packages/core/lib/src/routing/staff/route_paths.dart index 4929e1a0..f3bb8428 100644 --- a/apps/mobile/packages/core/lib/src/routing/staff/route_paths.dart +++ b/apps/mobile/packages/core/lib/src/routing/staff/route_paths.dart @@ -211,7 +211,7 @@ class StaffPaths { // ADDITIONAL FEATURES (Placeholders) // ========================================================================== - /// Krow University - training and education (placeholder). + /// KROW University - training and education (placeholder). /// /// Access to training materials and courses. static const String krowUniversity = '/krow-university'; diff --git a/apps/mobile/packages/core/lib/src/services/api_service/dio_client.dart b/apps/mobile/packages/core/lib/src/services/api_service/dio_client.dart index e035ae18..687524a7 100644 --- a/apps/mobile/packages/core/lib/src/services/api_service/dio_client.dart +++ b/apps/mobile/packages/core/lib/src/services/api_service/dio_client.dart @@ -1,7 +1,7 @@ import 'package:dio/dio.dart'; import 'package:krow_core/src/services/api_service/inspectors/auth_interceptor.dart'; -/// A custom Dio client for the Krow project that includes basic configuration +/// A custom Dio client for the KROW project that includes basic configuration /// and an [AuthInterceptor]. class DioClient extends DioMixin implements Dio { DioClient([BaseOptions? baseOptions]) { diff --git a/apps/mobile/packages/core_localization/lib/src/l10n/en.i18n.json b/apps/mobile/packages/core_localization/lib/src/l10n/en.i18n.json index bd3e4341..740e0370 100644 --- a/apps/mobile/packages/core_localization/lib/src/l10n/en.i18n.json +++ b/apps/mobile/packages/core_localization/lib/src/l10n/en.i18n.json @@ -125,7 +125,7 @@ }, "sign_up_page": { "title": "Create Account", - "subtitle": "Get started with Krow for your business", + "subtitle": "Get started with KROW for your business", "company_label": "Company Name", "company_hint": "Enter company name", "email_label": "Email", @@ -544,7 +544,7 @@ "home": { "header": { "welcome_back": "Welcome back", - "user_name_placeholder": "Krower" + "user_name_placeholder": "KROWER" }, "banners": { "complete_profile_title": "Complete Your Profile", @@ -628,17 +628,17 @@ "page": "/krow-university" }, "podcast": { - "title": "Krow Podcast", + "title": "KROW Podcast", "description": "Listen to tips from top workers.", "page": "/krow-university" } } }, "more_ways": { - "title": "More Ways To Use Krow", + "title": "More Ways To Use KROW", "items": { "benefits": { - "title": "Krow Benefits", + "title": "KROW Benefits", "page": "/benefits" }, "refer": { @@ -684,7 +684,7 @@ "documents": "Documents", "certificates": "Certificates", "tax_forms": "Tax Forms", - "krow_university": "Krow University", + "krow_university": "KROW University", "trainings": "Trainings", "leaderboard": "Leaderboard", "bank_account": "Bank Account", diff --git a/apps/mobile/packages/core_localization/lib/src/l10n/es.i18n.json b/apps/mobile/packages/core_localization/lib/src/l10n/es.i18n.json index 076a4da6..9a991a74 100644 --- a/apps/mobile/packages/core_localization/lib/src/l10n/es.i18n.json +++ b/apps/mobile/packages/core_localization/lib/src/l10n/es.i18n.json @@ -125,7 +125,7 @@ }, "sign_up_page": { "title": "Crear cuenta", - "subtitle": "Comienza con Krow para tu negocio", + "subtitle": "Comienza con KROW para tu negocio", "company_label": "Nombre de la empresa", "company_hint": "Ingresa el nombre de la empresa", "email_label": "Correo electr\u00f3nico", @@ -544,7 +544,7 @@ "home": { "header": { "welcome_back": "Bienvenido de nuevo", - "user_name_placeholder": "Krower" + "user_name_placeholder": "KROWER" }, "banners": { "complete_profile_title": "Completa tu Perfil", @@ -628,17 +628,17 @@ "page": "/krow-university" }, "podcast": { - "title": "Podcast de Krow", + "title": "Podcast de KROW", "description": "Escucha consejos de los mejores trabajadores.", "page": "/krow-university" } } }, "more_ways": { - "title": "M\u00e1s Formas de Usar Krow", + "title": "M\u00e1s Formas de Usar KROW", "items": { "benefits": { - "title": "Beneficios de Krow", + "title": "Beneficios de KROW", "page": "/benefits" }, "refer": { @@ -684,7 +684,7 @@ "documents": "Documentos", "certificates": "Certificados", "tax_forms": "Formularios Fiscales", - "krow_university": "Krow University", + "krow_university": "KROW University", "trainings": "Capacitaciones", "leaderboard": "Tabla de Clasificaci\u00f3n", "bank_account": "Cuenta Bancaria", diff --git a/apps/mobile/packages/design_system/lib/src/widgets/ui_app_bar.dart b/apps/mobile/packages/design_system/lib/src/widgets/ui_app_bar.dart index 46654038..5d78a7c8 100644 --- a/apps/mobile/packages/design_system/lib/src/widgets/ui_app_bar.dart +++ b/apps/mobile/packages/design_system/lib/src/widgets/ui_app_bar.dart @@ -1,7 +1,7 @@ import 'package:design_system/design_system.dart'; import 'package:flutter/material.dart'; -/// A custom AppBar for the Krow UI design system. +/// A custom AppBar for the KROW UI design system. /// /// This widget provides a consistent look and feel for top app bars across the application. class UiAppBar extends StatelessWidget implements PreferredSizeWidget { diff --git a/apps/mobile/packages/design_system/lib/src/widgets/ui_text_field.dart b/apps/mobile/packages/design_system/lib/src/widgets/ui_text_field.dart index 705e4542..e46c45cb 100644 --- a/apps/mobile/packages/design_system/lib/src/widgets/ui_text_field.dart +++ b/apps/mobile/packages/design_system/lib/src/widgets/ui_text_field.dart @@ -4,11 +4,10 @@ import '../ui_typography.dart'; import '../ui_constants.dart'; import '../ui_colors.dart'; -/// A custom TextField for the Krow UI design system. +/// A custom TextField for the KROW UI design system. /// /// This widget combines a label and a [TextField] with consistent styling. class UiTextField extends StatelessWidget { - const UiTextField({ super.key, this.semanticsIdentifier, @@ -30,8 +29,10 @@ class UiTextField extends StatelessWidget { this.onTap, this.validator, }); + /// Optional semantics identifier for E2E testing (e.g. Maestro). final String? semanticsIdentifier; + /// The label text to display above the text field. final String? label; @@ -96,34 +97,31 @@ class UiTextField extends StatelessWidget { Builder( builder: (BuildContext context) { final Widget field = TextFormField( - controller: controller, - onChanged: onChanged, - keyboardType: keyboardType, - maxLines: maxLines, - obscureText: obscureText, - textInputAction: textInputAction, - onFieldSubmitted: onSubmitted, - autofocus: autofocus, - inputFormatters: inputFormatters, - readOnly: readOnly, - onTap: onTap, - validator: validator, - style: UiTypography.body1r.textPrimary, - decoration: InputDecoration( - hintText: hintText, - prefixIcon: prefixIcon != null - ? Icon(prefixIcon, size: 20, color: UiColors.iconSecondary) - : null, - suffixIcon: suffixIcon != null - ? Icon(suffixIcon, size: 20, color: UiColors.iconSecondary) - : suffix, - ), - ); + controller: controller, + onChanged: onChanged, + keyboardType: keyboardType, + maxLines: maxLines, + obscureText: obscureText, + textInputAction: textInputAction, + onFieldSubmitted: onSubmitted, + autofocus: autofocus, + inputFormatters: inputFormatters, + readOnly: readOnly, + onTap: onTap, + validator: validator, + style: UiTypography.body1r.textPrimary, + decoration: InputDecoration( + hintText: hintText, + prefixIcon: prefixIcon != null + ? Icon(prefixIcon, size: 20, color: UiColors.iconSecondary) + : null, + suffixIcon: suffixIcon != null + ? Icon(suffixIcon, size: 20, color: UiColors.iconSecondary) + : suffix, + ), + ); if (semanticsIdentifier != null) { - return Semantics( - identifier: semanticsIdentifier!, - child: field, - ); + return Semantics(identifier: semanticsIdentifier!, child: field); } return field; }, diff --git a/apps/mobile/packages/features/client/authentication/lib/src/data/repositories_impl/auth_repository_impl.dart b/apps/mobile/packages/features/client/authentication/lib/src/data/repositories_impl/auth_repository_impl.dart index 4ebdc924..f3a195fe 100644 --- a/apps/mobile/packages/features/client/authentication/lib/src/data/repositories_impl/auth_repository_impl.dart +++ b/apps/mobile/packages/features/client/authentication/lib/src/data/repositories_impl/auth_repository_impl.dart @@ -21,7 +21,7 @@ import '../../domain/repositories/auth_repository_interface.dart'; /// Production-ready implementation of the [AuthRepositoryInterface] for the client app. /// /// This implementation integrates with Firebase Authentication for user -/// identity management and Krow's Data Connect SDK for storing user profile data. +/// identity management and KROW's Data Connect SDK for storing user profile data. class AuthRepositoryImpl implements AuthRepositoryInterface { /// Creates an [AuthRepositoryImpl] with the real dependencies. AuthRepositoryImpl({dc.DataConnectService? service}) diff --git a/apps/mobile/packages/features/client/orders/analyze_output.txt b/apps/mobile/packages/features/client/orders/analyze_output.txt index 53f8069cc7094489ad26bcf2f1f03b2a27b7aac1..4c48dc483bb7a8a074236ec4f2d1911266082b92 100644 GIT binary patch delta 96 zcmaDM`a*O<7;6xNKSTIrMV9FsKgBRYc$*bj3>hc4FwcNW)q>;E0(lz&;JG P6D0Bpg%>rsjVlQNU?&`b delta 96 zcmaDM`a*O<7;6zjK12CrMV9FsKgBRYc$*bj3>hc4FwcNW)q>;E0(lz&;JG P6D0Bpg%>rsjVlQN)CV5H diff --git a/apps/mobile/packages/features/client/orders/create_order/lib/src/presentation/pages/create_order_page.dart b/apps/mobile/packages/features/client/orders/create_order/lib/src/presentation/pages/create_order_page.dart index 7bc1f023..59aad234 100644 --- a/apps/mobile/packages/features/client/orders/create_order/lib/src/presentation/pages/create_order_page.dart +++ b/apps/mobile/packages/features/client/orders/create_order/lib/src/presentation/pages/create_order_page.dart @@ -5,7 +5,7 @@ import '../widgets/create_order/create_order_view.dart'; /// Main entry page for the client create order flow. /// /// This page displays the [CreateOrderView]. -/// It follows the Krow Clean Architecture by being a [StatelessWidget] and +/// It follows the KROW Clean Architecture by being a [StatelessWidget] and /// delegating its UI to other components. class ClientCreateOrderPage extends StatelessWidget { /// Creates a [ClientCreateOrderPage]. diff --git a/apps/mobile/packages/features/client/orders/create_order/lib/src/presentation/pages/one_time_order_page.dart b/apps/mobile/packages/features/client/orders/create_order/lib/src/presentation/pages/one_time_order_page.dart index 8c8f0e3f..3c611062 100644 --- a/apps/mobile/packages/features/client/orders/create_order/lib/src/presentation/pages/one_time_order_page.dart +++ b/apps/mobile/packages/features/client/orders/create_order/lib/src/presentation/pages/one_time_order_page.dart @@ -12,7 +12,7 @@ import '../blocs/one_time_order/one_time_order_state.dart'; /// Users can specify the date, location, and multiple staff positions required. /// /// This page initializes the [OneTimeOrderBloc] and displays the [OneTimeOrderView] -/// from the common orders package. It follows the Krow Clean Architecture by being +/// from the common orders package. It follows the KROW Clean Architecture by being /// a [StatelessWidget] and mapping local BLoC state to generic UI models. class OneTimeOrderPage extends StatelessWidget { /// Creates a [OneTimeOrderPage]. @@ -70,10 +70,8 @@ class OneTimeOrderPage extends StatelessWidget { bloc.add(const OneTimeOrderHubManagerChanged(null)); return; } - final OneTimeOrderManagerOption original = - state.managers.firstWhere( - (OneTimeOrderManagerOption m) => m.id == val.id, - ); + final OneTimeOrderManagerOption original = state.managers + .firstWhere((OneTimeOrderManagerOption m) => m.id == val.id); bloc.add(OneTimeOrderHubManagerChanged(original)); }, onPositionAdded: () => bloc.add(const OneTimeOrderPositionAdded()), @@ -150,4 +148,3 @@ class OneTimeOrderPage extends StatelessWidget { return OrderManagerUiModel(id: manager.id, name: manager.name); } } - diff --git a/apps/mobile/packages/features/client/orders/create_order/lib/src/presentation/pages/rapid_order_page.dart b/apps/mobile/packages/features/client/orders/create_order/lib/src/presentation/pages/rapid_order_page.dart index 46ea23f8..9ec01b57 100644 --- a/apps/mobile/packages/features/client/orders/create_order/lib/src/presentation/pages/rapid_order_page.dart +++ b/apps/mobile/packages/features/client/orders/create_order/lib/src/presentation/pages/rapid_order_page.dart @@ -8,7 +8,7 @@ import '../widgets/rapid_order/rapid_order_view.dart'; /// Features voice recognition simulation and quick example selection. /// /// This page initializes the [RapidOrderBloc] and displays the [RapidOrderView]. -/// It follows the Krow Clean Architecture by being a [StatelessWidget] and +/// It follows the KROW Clean Architecture by being a [StatelessWidget] and /// delegating its state and UI to other components. class RapidOrderPage extends StatelessWidget { /// Creates a [RapidOrderPage]. diff --git a/apps/mobile/packages/features/staff/home/lib/src/presentation/widgets/worker/more_ways_widget.dart b/apps/mobile/packages/features/staff/home/lib/src/presentation/widgets/worker/more_ways_widget.dart index 70949197..e27cdefb 100644 --- a/apps/mobile/packages/features/staff/home/lib/src/presentation/widgets/worker/more_ways_widget.dart +++ b/apps/mobile/packages/features/staff/home/lib/src/presentation/widgets/worker/more_ways_widget.dart @@ -3,7 +3,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_modular/flutter_modular.dart'; import 'package:core_localization/core_localization.dart'; -/// Widget for displaying more ways to use Krow, using design system tokens. +/// Widget for displaying more ways to use KROW, using design system tokens. class MoreWaysToUseKrowWidget extends StatelessWidget { /// Creates a [MoreWaysToUseKrowWidget]. const MoreWaysToUseKrowWidget({super.key}); @@ -15,13 +15,15 @@ class MoreWaysToUseKrowWidget extends StatelessWidget { { 'id': 'benefits', 'title': i18n.items.benefits.title, - 'image': 'https://images.unsplash.com/photo-1481627834876-b7833e8f5570?w=400&h=300&fit=crop', + 'image': + 'https://images.unsplash.com/photo-1481627834876-b7833e8f5570?w=400&h=300&fit=crop', 'page': i18n.items.benefits.page, }, { 'id': 'refer', 'title': i18n.items.refer.title, - 'image': 'https://images.unsplash.com/photo-1529156069898-49953e39b3ac?w=400&h=300&fit=crop', + 'image': + 'https://images.unsplash.com/photo-1529156069898-49953e39b3ac?w=400&h=300&fit=crop', 'page': i18n.items.refer.page, }, ]; @@ -29,10 +31,7 @@ class MoreWaysToUseKrowWidget extends StatelessWidget { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text( - i18n.title, - style: UiTypography.title1m.textPrimary, - ), + Text(i18n.title, style: UiTypography.title1m.textPrimary), const SizedBox(height: UiConstants.space3), SingleChildScrollView( scrollDirection: Axis.horizontal, @@ -75,10 +74,7 @@ class MoreWaysToUseKrowWidget extends StatelessWidget { fit: BoxFit.cover, errorBuilder: (context, error, stackTrace) => Container( color: UiColors.background, - child: Icon( - UiIcons.zap, - color: UiColors.mutedForeground, - ), + child: Icon(UiIcons.zap, color: UiColors.mutedForeground), ), ), ), diff --git a/apps/mobile/packages/features/staff/profile_sections/support/privacy_security/lib/src/assets/legal/privacy_policy.txt b/apps/mobile/packages/features/staff/profile_sections/support/privacy_security/lib/src/assets/legal/privacy_policy.txt index b632873f..80e6684c 100644 --- a/apps/mobile/packages/features/staff/profile_sections/support/privacy_security/lib/src/assets/legal/privacy_policy.txt +++ b/apps/mobile/packages/features/staff/profile_sections/support/privacy_security/lib/src/assets/legal/privacy_policy.txt @@ -4,7 +4,7 @@ Effective Date: February 18, 2026 1. INTRODUCTION -Krow Workforce ("we," "us," "our," or "the App") is committed to protecting your privacy. This Privacy Policy explains how we collect, use, disclose, and otherwise process your personal information through our mobile application and related services. +KROW Workforce ("we," "us," "our," or "the App") is committed to protecting your privacy. This Privacy Policy explains how we collect, use, disclose, and otherwise process your personal information through our mobile application and related services. 2. INFORMATION WE COLLECT @@ -107,7 +107,7 @@ We may update this Privacy Policy from time to time. We will notify you of signi If you have questions about this Privacy Policy or your personal information, please contact us at: Email: privacy@krow.com -Address: Krow Workforce, [Company Address] +Address: KROW Workforce, [Company Address] Phone: [Support Phone Number] 14. CALIFORNIA PRIVACY RIGHTS (CCPA) diff --git a/apps/mobile/packages/features/staff/profile_sections/support/privacy_security/lib/src/assets/legal/terms_of_service.txt b/apps/mobile/packages/features/staff/profile_sections/support/privacy_security/lib/src/assets/legal/terms_of_service.txt index 818cbe06..f48ea52e 100644 --- a/apps/mobile/packages/features/staff/profile_sections/support/privacy_security/lib/src/assets/legal/terms_of_service.txt +++ b/apps/mobile/packages/features/staff/profile_sections/support/privacy_security/lib/src/assets/legal/terms_of_service.txt @@ -4,11 +4,11 @@ Effective Date: February 18, 2026 1. ACCEPTANCE OF TERMS -By accessing and using the Krow Workforce application ("the App"), you accept and agree to be bound by the terms and provisions of this agreement. If you do not agree to abide by the above, please do not use this service. +By accessing and using the KROW Workforce application ("the App"), you accept and agree to be bound by the terms and provisions of this agreement. If you do not agree to abide by the above, please do not use this service. 2. USE LICENSE -Permission is granted to temporarily download one copy of the materials (information or software) on Krow Workforce's App for personal, non-commercial transitory viewing only. This is the grant of a license, not a transfer of title, and under this license you may not: +Permission is granted to temporarily download one copy of the materials (information or software) on KROW Workforce's App for personal, non-commercial transitory viewing only. This is the grant of a license, not a transfer of title, and under this license you may not: a) Modifying or copying the materials b) Using the materials for any commercial purpose or for any public display @@ -18,43 +18,43 @@ e) Transferring the materials to another person or "mirroring" the materials on 3. DISCLAIMER -The materials on Krow Workforce's App are provided on an "as is" basis. Krow Workforce makes no warranties, expressed or implied, and hereby disclaims and negates all other warranties including, without limitation, implied warranties or conditions of merchantability, fitness for a particular purpose, or non-infringement of intellectual property or other violation of rights. +The materials on KROW Workforce's App are provided on an "as is" basis. KROW Workforce makes no warranties, expressed or implied, and hereby disclaims and negates all other warranties including, without limitation, implied warranties or conditions of merchantability, fitness for a particular purpose, or non-infringement of intellectual property or other violation of rights. 4. LIMITATIONS -In no event shall Krow Workforce or its suppliers be liable for any damages (including, without limitation, damages for loss of data or profit, or due to business interruption) arising out of the use or inability to use the materials on Krow Workforce's App, even if Krow Workforce or a Krow Workforce authorized representative has been notified orally or in writing of the possibility of such damage. +In no event shall KROW Workforce or its suppliers be liable for any damages (including, without limitation, damages for loss of data or profit, or due to business interruption) arising out of the use or inability to use the materials on KROW Workforce's App, even if KROW Workforce or a KROW Workforce authorized representative has been notified orally or in writing of the possibility of such damage. 5. ACCURACY OF MATERIALS -The materials appearing on Krow Workforce's App could include technical, typographical, or photographic errors. Krow Workforce does not warrant that any of the materials on its App are accurate, complete, or current. Krow Workforce may make changes to the materials contained on its App at any time without notice. +The materials appearing on KROW Workforce's App could include technical, typographical, or photographic errors. KROW Workforce does not warrant that any of the materials on its App are accurate, complete, or current. KROW Workforce may make changes to the materials contained on its App at any time without notice. 6. MATERIALS DISCLAIMER -Krow Workforce has not reviewed all of the sites linked to its App and is not responsible for the contents of any such linked site. The inclusion of any link does not imply endorsement by Krow Workforce of the site. Use of any such linked website is at the user's own risk. +KROW Workforce has not reviewed all of the sites linked to its App and is not responsible for the contents of any such linked site. The inclusion of any link does not imply endorsement by KROW Workforce of the site. Use of any such linked website is at the user's own risk. 7. MODIFICATIONS -Krow Workforce may revise these terms of service for its App at any time without notice. By using this App, you are agreeing to be bound by the then current version of these terms of service. +KROW Workforce may revise these terms of service for its App at any time without notice. By using this App, you are agreeing to be bound by the then current version of these terms of service. 8. GOVERNING LAW -These terms and conditions are governed by and construed in accordance with the laws of the jurisdiction in which Krow Workforce is located, and you irrevocably submit to the exclusive jurisdiction of the courts in that location. +These terms and conditions are governed by and construed in accordance with the laws of the jurisdiction in which KROW Workforce is located, and you irrevocably submit to the exclusive jurisdiction of the courts in that location. 9. LIMITATION OF LIABILITY -In no case shall Krow Workforce, its staff, or other contributors be liable for any indirect, incidental, consequential, special, or punitive damages arising out of or relating to the use of the App. +In no case shall KROW Workforce, its staff, or other contributors be liable for any indirect, incidental, consequential, special, or punitive damages arising out of or relating to the use of the App. 10. USER CONTENT -You grant Krow Workforce a non-exclusive, royalty-free, perpetual, and irrevocable right to use any content you provide to us, including but not limited to text, images, and information, in any media or format and for any purpose consistent with our business. +You grant KROW Workforce a non-exclusive, royalty-free, perpetual, and irrevocable right to use any content you provide to us, including but not limited to text, images, and information, in any media or format and for any purpose consistent with our business. 11. INDEMNIFICATION -You agree to indemnify and hold harmless Krow Workforce and its staff from any and all claims, damages, losses, costs, and expenses, including attorney's fees, arising out of or resulting from your use of the App or violation of these terms. +You agree to indemnify and hold harmless KROW Workforce and its staff from any and all claims, damages, losses, costs, and expenses, including attorney's fees, arising out of or resulting from your use of the App or violation of these terms. 12. TERMINATION -Krow Workforce reserves the right to terminate your account and access to the App at any time, in its sole discretion, for any reason or no reason, with or without notice. +KROW Workforce reserves the right to terminate your account and access to the App at any time, in its sole discretion, for any reason or no reason, with or without notice. 13. CONTACT INFORMATION diff --git a/apps/web/index.html b/apps/web/index.html index fd0a4be2..2892d80e 100644 --- a/apps/web/index.html +++ b/apps/web/index.html @@ -3,7 +3,7 @@ - Krow-web + KROW-web
diff --git a/apps/web/src/features/auth/ForgotPassword.tsx b/apps/web/src/features/auth/ForgotPassword.tsx index 0a2fd461..9b5c952f 100644 --- a/apps/web/src/features/auth/ForgotPassword.tsx +++ b/apps/web/src/features/auth/ForgotPassword.tsx @@ -105,7 +105,7 @@ const ForgotPassword: React.FC = () => {
Krow Logo
@@ -139,7 +139,7 @@ const ForgotPassword: React.FC = () => { Krow Logo
diff --git a/apps/web/src/features/auth/Login.tsx b/apps/web/src/features/auth/Login.tsx index c22005f5..9c76bef5 100644 --- a/apps/web/src/features/auth/Login.tsx +++ b/apps/web/src/features/auth/Login.tsx @@ -142,7 +142,7 @@ const Login: React.FC = () => {
Krow Logo
@@ -168,7 +168,7 @@ const Login: React.FC = () => {
Krow Logo
diff --git a/apps/web/src/features/operations/schedule/Schedule.tsx b/apps/web/src/features/operations/schedule/Schedule.tsx index dffd5c20..37d26561 100644 --- a/apps/web/src/features/operations/schedule/Schedule.tsx +++ b/apps/web/src/features/operations/schedule/Schedule.tsx @@ -455,7 +455,7 @@ export default function Schedule() {

Business

- {selectedOrder.business?.businessName || "Krow Workforce"} + {selectedOrder.business?.businessName || "KROW Workforce"}
diff --git a/backend/dataconnect/functions/seed.gql b/backend/dataconnect/functions/seed.gql index 065a8246..c259d42a 100644 --- a/backend/dataconnect/functions/seed.gql +++ b/backend/dataconnect/functions/seed.gql @@ -5,7 +5,7 @@ mutation seedAll @transaction { data: { id: "dvpWnaBjT6UksS5lo04hfMTyq1q1" email: "legendary@krowd.com" - fullName: "Krow Payements" + fullName: "KROW Payements" role: USER userRole: "BUSINESS" } @@ -24,9 +24,9 @@ mutation seedAll @transaction { business_1: business_insert( data: { id: "ef69e942-d6e5-48e5-a8bc-69d3faa63b2f" - businessName: "Krow" + businessName: "KROW" userId: "dvpWnaBjT6UksS5lo04hfMTyq1q1" - contactName: "Krow Payements" + contactName: "KROW Payements" email: "legendary@krowd.com" phone: "+1-818-555-0148" address: "5000 San Jose Street, Granada Hills, CA, USA" @@ -48,9 +48,9 @@ mutation seedAll @transaction { team_1: team_insert( data: { id: "9508c187-7612-4084-90de-4ece4a63773f" - teamName: "Krow" + teamName: "KROW" ownerId: "ef69e942-d6e5-48e5-a8bc-69d3faa63b2f" - ownerName: "Krow" + ownerName: "KROW" ownerRole: "ADMIN" totalHubs: 3 } @@ -335,7 +335,7 @@ mutation seedAll @transaction { businessId: "ef69e942-d6e5-48e5-a8bc-69d3faa63b2f" orderType: ONE_TIME status: COMPLETED - eventName: "Krow Opening Night" + eventName: "KROW Opening Night" teamHubId: "22a0b119-e6dc-4011-9043-d857cd4c12f3" date: "2026-01-26T05:00:00Z" requested: 1 @@ -377,7 +377,7 @@ mutation seedAll @transaction { businessId: "ef69e942-d6e5-48e5-a8bc-69d3faa63b2f" orderType: ONE_TIME status: COMPLETED - eventName: "Krow Partner Showcase" + eventName: "KROW Partner Showcase" teamHubId: "22a0b119-e6dc-4011-9043-d857cd4c12f3" date: "2026-01-28T05:00:00Z" requested: 1 @@ -419,7 +419,7 @@ mutation seedAll @transaction { businessId: "ef69e942-d6e5-48e5-a8bc-69d3faa63b2f" orderType: ONE_TIME status: COMPLETED - eventName: "Krow Friday Preview" + eventName: "KROW Friday Preview" teamHubId: "22a0b119-e6dc-4011-9043-d857cd4c12f3" date: "2026-01-30T05:00:00Z" requested: 2 @@ -613,7 +613,7 @@ mutation seedAll @transaction { shift_01: shift_insert( data: { id: "97475714-44d9-4a52-8486-672977689bc0" - title: "Krow Opening Night Shift" + title: "KROW Opening Night Shift" orderId: "0e3b8fbb-ffd7-496d-a20a-2375b9205f54" date: "2026-01-26T05:00:00Z" startTime: "2026-01-26T14:00:00Z" @@ -682,7 +682,7 @@ mutation seedAll @transaction { shift_04: shift_insert( data: { id: "dafa7ede-5245-436c-af4a-1d1f20d68ab5" - title: "Krow Partner Showcase Shift" + title: "KROW Partner Showcase Shift" orderId: "83b7dd83-2223-4585-a75f-b247368ebfcb" date: "2026-01-28T05:00:00Z" startTime: "2026-01-28T14:00:00Z" @@ -751,7 +751,7 @@ mutation seedAll @transaction { shift_07: shift_insert( data: { id: "7dc230cb-5680-4799-b45a-8a8269675a42" - title: "Krow Friday Preview Shift" + title: "KROW Friday Preview Shift" orderId: "c3c5dca6-c8f9-4948-bb8c-10d8129914b3" date: "2026-01-30T05:00:00Z" startTime: "2026-01-30T14:00:00Z" diff --git a/backend/dataconnect/functions/seed_val.gql b/backend/dataconnect/functions/seed_val.gql index 073861ae..8711c03a 100644 --- a/backend/dataconnect/functions/seed_val.gql +++ b/backend/dataconnect/functions/seed_val.gql @@ -5,7 +5,7 @@ mutation seedAll @transaction { data: { id: "dvpWnaBjT6UksS5lo04hfMTyq1q1" email: "legendary@krowd.com" - fullName: "Krow Payements" + fullName: "KROW Payements" role: USER userRole: "BUSINESS" } @@ -24,9 +24,9 @@ mutation seedAll @transaction { business_1: business_insert( data: { id: "ef69e942-d6e5-48e5-a8bc-69d3faa63b2f" - businessName: "Krow" + businessName: "KROW" userId: "dvpWnaBjT6UksS5lo04hfMTyq1q1" - contactName: "Krow Payements" + contactName: "KROW Payements" email: "legendary@krowd.com" phone: "+1-818-555-0148" address: "5000 San Jose Street, Granada Hills, CA, USA" @@ -42,9 +42,9 @@ mutation seedAll @transaction { team_1: team_insert( data: { id: "9508c187-7612-4084-90de-4ece4a63773f" - teamName: "Krow" + teamName: "KROW" ownerId: "ef69e942-d6e5-48e5-a8bc-69d3faa63b2f" - ownerName: "Krow" + ownerName: "KROW" ownerRole: "ADMIN" totalHubs: 3 } @@ -288,7 +288,7 @@ mutation seedAll @transaction { businessId: "ef69e942-d6e5-48e5-a8bc-69d3faa63b2f" orderType: ONE_TIME status: COMPLETED - eventName: "Krow Opening Night" + eventName: "KROW Opening Night" teamHubId: "22a0b119-e6dc-4011-9043-d857cd4c12f3" date: "2026-01-26T05:00:00Z" requested: 1 @@ -330,7 +330,7 @@ mutation seedAll @transaction { businessId: "ef69e942-d6e5-48e5-a8bc-69d3faa63b2f" orderType: ONE_TIME status: COMPLETED - eventName: "Krow Partner Showcase" + eventName: "KROW Partner Showcase" teamHubId: "22a0b119-e6dc-4011-9043-d857cd4c12f3" date: "2026-01-28T05:00:00Z" requested: 1 @@ -372,7 +372,7 @@ mutation seedAll @transaction { businessId: "ef69e942-d6e5-48e5-a8bc-69d3faa63b2f" orderType: ONE_TIME status: COMPLETED - eventName: "Krow Friday Preview" + eventName: "KROW Friday Preview" teamHubId: "22a0b119-e6dc-4011-9043-d857cd4c12f3" date: "2026-01-30T05:00:00Z" requested: 2 @@ -566,7 +566,7 @@ mutation seedAll @transaction { shift_01: shift_insert( data: { id: "97475714-44d9-4a52-8486-672977689bc0" - title: "Krow Opening Night Shift" + title: "KROW Opening Night Shift" orderId: "0e3b8fbb-ffd7-496d-a20a-2375b9205f54" date: "2026-01-26T05:00:00Z" startTime: "2026-01-26T14:00:00Z" @@ -635,7 +635,7 @@ mutation seedAll @transaction { shift_04: shift_insert( data: { id: "dafa7ede-5245-436c-af4a-1d1f20d68ab5" - title: "Krow Partner Showcase Shift" + title: "KROW Partner Showcase Shift" orderId: "83b7dd83-2223-4585-a75f-b247368ebfcb" date: "2026-01-28T05:00:00Z" startTime: "2026-01-28T14:00:00Z" @@ -704,7 +704,7 @@ mutation seedAll @transaction { shift_07: shift_insert( data: { id: "7dc230cb-5680-4799-b45a-8a8269675a42" - title: "Krow Friday Preview Shift" + title: "KROW Friday Preview Shift" orderId: "c3c5dca6-c8f9-4948-bb8c-10d8129914b3" date: "2026-01-30T05:00:00Z" startTime: "2026-01-30T14:00:00Z" diff --git a/docs/ARCHITECTURE/architecture.md b/docs/ARCHITECTURE/architecture.md index b84f9861..fd412d92 100644 --- a/docs/ARCHITECTURE/architecture.md +++ b/docs/ARCHITECTURE/architecture.md @@ -1,9 +1,9 @@ -# Krow Platform: System Architecture Overview +# KROW Platform: System Architecture Overview ## 1. Executive Summary: The Business Purpose -The **Krow Platform** is an end-to-end workforce management ecosystem designed to bridge the gap between businesses that need staff ("Clients") and the temporary workers who fill those roles ("Staff"). +The **KROW Platform** is an end-to-end workforce management ecosystem designed to bridge the gap between businesses that need staff ("Clients") and the temporary workers who fill those roles ("Staff"). -Traditionally, this process involves phone calls, paper timesheets, and manual payroll. Krow digitizes the entire lifecycle: +Traditionally, this process involves phone calls, paper timesheets, and manual payroll. KROW digitizes the entire lifecycle: 1. **Finding Work:** Clients post shifts instantly; workers claim them via mobile. 2. **Doing Work:** GPS-verified clock-ins and digital timesheets ensure accuracy. 3. **Managing Business:** A web dashboard provides analytics, billing, and compliance oversight. @@ -23,7 +23,7 @@ The platform consists of three distinct applications, each tailored to a specifi * **Role:** The supply pool. It acts as their personal agency, handling job discovery, schedule management, and instant payouts. * **Key Value:** Flexibility and financial security. Workers choose when they work and get paid faster. -### C. Krow Web Application (The "HQ") +### C. KROW Web Application (The "HQ") * **User:** Administrators, HR, Finance, and Client Executives. * **Role:** The command center. It handles the heavy lifting—complex invoicing, vendor management, compliance audits, and strategic data analysis. * **Key Value:** Control and insight. It turns operational data into cost-saving strategies. @@ -51,7 +51,7 @@ To maintain privacy and organization, data is strictly compartmentalized: * **Worker Data:** Owned by the worker but accessible to the platform. Clients can only see limited details (Name, Rating, Skills) of workers assigned to *their* specific shifts. They cannot see a worker's full financial history or assignments with other clients. * **Client Data:** Owned by the business. Workers see only what is necessary to do the job (Location, Dress Code, Supervisor Name). They cannot see the client's internal billing or strategic reports. -* **Platform Data:** owned by Krow (Admins). This includes the aggregate data used for "Smart Strategies" and market analysis—e.g., "Average hourly rate for a Bartender in downtown." +* **Platform Data:** owned by KROW (Admins). This includes the aggregate data used for "Smart Strategies" and market analysis—e.g., "Average hourly rate for a Bartender in downtown." ## 6. Security & Access Control The system operates on a **Role-Based Access Control (RBAC)** model: diff --git a/docs/ARCHITECTURE/client-mobile-application/use-case.md b/docs/ARCHITECTURE/client-mobile-application/use-case.md index 9223f6e6..43acef46 100644 --- a/docs/ARCHITECTURE/client-mobile-application/use-case.md +++ b/docs/ARCHITECTURE/client-mobile-application/use-case.md @@ -17,7 +17,7 @@ This document details the primary business actions and user flows within the **C ### 1.2 Register Business Account (Sign Up) * **Actor:** New Business Manager -* **Description:** Creating a new identity for the business on the Krow platform. +* **Description:** Creating a new identity for the business on the KROW platform. * **Main Flow:** 1. User taps "Sign Up". 2. User enters company details (Name, Industry). diff --git a/docs/ARCHITECTURE/staff-mobile-application/use-case.md b/docs/ARCHITECTURE/staff-mobile-application/use-case.md index 23b920b8..1aba3ef5 100644 --- a/docs/ARCHITECTURE/staff-mobile-application/use-case.md +++ b/docs/ARCHITECTURE/staff-mobile-application/use-case.md @@ -17,7 +17,7 @@ This document details the primary business actions available within the **Staff ### 1.2 Onboarding & Registration * **Actor:** New Worker -* **Description:** Creating a new profile to join the Krow network. +* **Description:** Creating a new profile to join the KROW network. * **Main Flow:** 1. Worker enters phone number. 2. System sends SMS OTP. @@ -111,10 +111,10 @@ This document details the primary business actions available within the **Staff * **Description:** Submitting legal employment forms. * **Main Flow:** Navigate to "Tax Forms" -> Complete W-4 or I-9 digitally -> Sign and Submit. -### 5.3 Krow University Training +### 5.3 KROW University Training * **Actor:** Temporary Worker * **Description:** Improving skills to unlock better jobs. -* **Main Flow:** Navigate to "Krow University" -> Select Module -> Watch Video/Take Quiz -> Earn Badge. +* **Main Flow:** Navigate to "KROW University" -> Select Module -> Watch Video/Take Quiz -> Earn Badge. ### 5.4 Account Settings * **Actor:** Temporary Worker @@ -193,7 +193,7 @@ flowchart TD ComplianceMenu --> UploadDocs[Upload Certificates] ComplianceMenu --> TaxForms["Manage Tax Forms (W-4/I-9)"] - Profile --> KrowUniversity[Krow University] + Profile --> KrowUniversity[KROW University] KrowUniversity --> StartTraining[Start Training Module] Profile --> BankAccount[Manage Bank Details] diff --git a/docs/ARCHITECTURE/system-bible.md b/docs/ARCHITECTURE/system-bible.md index bbf8e972..c7d9ebde 100644 --- a/docs/ARCHITECTURE/system-bible.md +++ b/docs/ARCHITECTURE/system-bible.md @@ -1,4 +1,4 @@ -# The Krow Platform System Bible +# The KROW Platform System Bible **Status:** Official / Living Document **Version:** 1.0.0 @@ -8,10 +8,10 @@ ## 1. Executive Summary ### What the System Is -The **Krow Platform** is a multi-sided workforce management ecosystem that digitizes the entire lifecycle of temporary staffing. It replaces fragmented, manual processes (phone calls, spreadsheets, paper timesheets) with a unified digital infrastructure connecting businesses ("Clients") directly with temporary workers ("Staff"). +The **KROW Platform** is a multi-sided workforce management ecosystem that digitizes the entire lifecycle of temporary staffing. It replaces fragmented, manual processes (phone calls, spreadsheets, paper timesheets) with a unified digital infrastructure connecting businesses ("Clients") directly with temporary workers ("Staff"). ### Why It Exists -The temporary staffing industry suffers from friction, lack of transparency, and delayed payments. Businesses struggle to find reliable staff quickly, while workers face uncertain schedules and slow wage access. Krow exists to remove this friction, ensuring shifts are filled instantly, work is verified accurately, and payments are processed swiftly. +The temporary staffing industry suffers from friction, lack of transparency, and delayed payments. Businesses struggle to find reliable staff quickly, while workers face uncertain schedules and slow wage access. KROW exists to remove this friction, ensuring shifts are filled instantly, work is verified accurately, and payments are processed swiftly. ### Who It Serves 1. **Clients (Businesses):** Venue managers and owners who need on-demand or scheduled staff. @@ -19,7 +19,7 @@ The temporary staffing industry suffers from friction, lack of transparency, and 3. **Admins (Operations):** Internal teams managing the marketplace, compliance, and financial flows. ### High-Level Value Proposition -Krow transforms labor from a manual logistical headache into a streamlined digital asset. For clients, it provides "staff on tap" with verified compliance. For workers, it offers "freedom and instant pay." For the platform operators, it delivers data-driven oversight of a complex marketplace. +KROW transforms labor from a manual logistical headache into a streamlined digital asset. For clients, it provides "staff on tap" with verified compliance. For workers, it offers "freedom and instant pay." For the platform operators, it delivers data-driven oversight of a complex marketplace. --- @@ -60,7 +60,7 @@ The ecosystem comprises three distinct applications, each serving a specific use * **Responsibility:** Supply fulfillment. Empowering workers to find jobs, manage their schedule, verify their presence (Clock In), and access earnings. * **Concept:** The worker's "Digital Agency" in their pocket. -### 3. Krow Web Application (The "HQ") +### 3. KROW Web Application (The "HQ") * **Platform:** React (Web) * **Responsibility:** Ecosystem governance. The command center for high-level analytics, complex financial operations (invoicing/payouts), vendor management, and system administration. * **Concept:** The "Mission Control" for the business backend. @@ -69,7 +69,7 @@ The ecosystem comprises three distinct applications, each serving a specific use ## 4. System Architecture Overview -The Krow Platform follows a **Service-Oriented Architecture (SOA)** where multiple front-end clients interface with a shared, monolithic logical backend (exposed via API Gateway). +The KROW Platform follows a **Service-Oriented Architecture (SOA)** where multiple front-end clients interface with a shared, monolithic logical backend (exposed via API Gateway). ### Architectural Style * **Centralized State:** A single backend database serves as the source of truth for all apps. diff --git a/docs/ARCHITECTURE/web-application/use-case.md b/docs/ARCHITECTURE/web-application/use-case.md index e36a1ac6..393f8ed8 100644 --- a/docs/ARCHITECTURE/web-application/use-case.md +++ b/docs/ARCHITECTURE/web-application/use-case.md @@ -1,6 +1,6 @@ # Web Application: Use Case Overview -This document details the primary business actions and user flows within the **Krow Web Application**. It is organized according to the logical workflows for each primary user role as defined in the system's architecture. +This document details the primary business actions and user flows within the **KROW Web Application**. It is organized according to the logical workflows for each primary user role as defined in the system's architecture. --- diff --git a/docs/BACKEND/DATACONNECT_GUIDES/DOCUMENTS/backend_manual.md b/docs/BACKEND/DATACONNECT_GUIDES/DOCUMENTS/backend_manual.md index a256a882..c31b0f8c 100644 --- a/docs/BACKEND/DATACONNECT_GUIDES/DOCUMENTS/backend_manual.md +++ b/docs/BACKEND/DATACONNECT_GUIDES/DOCUMENTS/backend_manual.md @@ -1,4 +1,4 @@ -# Krow Workforce – Backend Manual +# KROW Workforce – Backend Manual Firebase Data Connect + Cloud SQL (PostgreSQL) --- diff --git a/docs/MILESTONES/M3/demos/m3-client-note.md b/docs/MILESTONES/M3/demos/m3-client-note.md index 86ce3a26..f18a010a 100644 --- a/docs/MILESTONES/M3/demos/m3-client-note.md +++ b/docs/MILESTONES/M3/demos/m3-client-note.md @@ -18,7 +18,7 @@ **Client Account (Business User):** - Email: `legendary@krowd.com` - Password: `Demo2026!` -- Client Name: "Krow" +- Client Name: "KROW" **Staff Account (Worker):** - Phone: `+15557654321` diff --git a/docs/MILESTONES/M3/demos/m3-notes.md b/docs/MILESTONES/M3/demos/m3-notes.md index e4111452..8b690965 100644 --- a/docs/MILESTONES/M3/demos/m3-notes.md +++ b/docs/MILESTONES/M3/demos/m3-notes.md @@ -20,7 +20,7 @@ - Suggestion: Use Google Maps to suggest only city names. Currently users can type anything, which will cause misspellings and inconsistent data. Important for the max distance feature. **Home page:** -- Same flickering issue — shows "Krower" briefly before displaying the real name. +- Same flickering issue — shows "KROWER" briefly before displaying the real name. **Profile page:** - Phone number should be read-only, or require re-verification if changed. diff --git a/docs/MILESTONES/M3/demos/m3.md b/docs/MILESTONES/M3/demos/m3.md index 31b86d29..9eae2e1e 100644 --- a/docs/MILESTONES/M3/demos/m3.md +++ b/docs/MILESTONES/M3/demos/m3.md @@ -30,7 +30,7 @@ This demo showcases the progress of the milestone 3. **Client Account (Business User):** - Email: `legendary@krowd.com` - Password: `Demo2026!` -- Client Name: "Krow" +- Client Name: "KROW" **Staff Account (Worker):** - Phone: `+15557654321` diff --git a/docs/MILESTONES/M4/planning/m4-core-data-actors-scenarios.md b/docs/MILESTONES/M4/planning/m4-core-data-actors-scenarios.md index 8c53fb69..15ce2fd7 100644 --- a/docs/MILESTONES/M4/planning/m4-core-data-actors-scenarios.md +++ b/docs/MILESTONES/M4/planning/m4-core-data-actors-scenarios.md @@ -57,7 +57,7 @@ Context: 3. Legendary uses its own workforce, and can still route overflow to approved vendors. Actor mapping (text): -1. Tenant: `Legendary Event Staffing and Entertainment` (the company using Krow). +1. Tenant: `Legendary Event Staffing and Entertainment` (the company using KROW). 2. User: `Wil` (ops lead), `Maria` (Google client manager), `Omar` (Google procurement approver), `Jose` (vendor scheduler), `Ana` (worker). 3. TenantMembership: 4. `Wil` is `admin` in Legendary tenant. @@ -109,7 +109,7 @@ Context: 3. Peakline primarily fulfills demand through external approved vendors. Actor mapping (text): -1. Tenant: `Peakline Events` (another staffing company using Krow). +1. Tenant: `Peakline Events` (another staffing company using KROW). 2. User: `Chris` (operations coordinator), `Nina` (client manager), `Sam` (vendor manager), `Leo` (worker). 3. TenantMembership: 4. `Chris` is `admin` in Peakline tenant. diff --git a/docs/MILESTONES/M4/planning/m4-roadmap-csv-schema-reconciliation.md b/docs/MILESTONES/M4/planning/m4-roadmap-csv-schema-reconciliation.md index bcd8e7fc..c8bb95d0 100644 --- a/docs/MILESTONES/M4/planning/m4-roadmap-csv-schema-reconciliation.md +++ b/docs/MILESTONES/M4/planning/m4-roadmap-csv-schema-reconciliation.md @@ -13,19 +13,19 @@ This avoids two failure modes: ## 2) Inputs reviewed All 13 roadmap exports from `/Users/wiel/Downloads`: -1. `Krow App – Roadmap - Business App_ Google, Nvidia.csv` -2. `Krow App – Roadmap - Client_ Google, Nvidia.csv` -3. `Krow App – Roadmap - Compass- The Operator.csv` -4. `Krow App – Roadmap - Employee App.csv` -5. `Krow App – Roadmap - Features.csv` -6. `Krow App – Roadmap - FoodBuy- Procurement.csv` -7. `Krow App – Roadmap - KROW Dashboard.csv` -8. `Krow App – Roadmap - Offenses.csv` -9. `Krow App – Roadmap - Partner.csv` -10. `Krow App – Roadmap - Roadmap.csv` -11. `Krow App – Roadmap - Sectors_ BA, Flik ( The executors).csv` -12. `Krow App – Roadmap - The Workforce_ Employees.csv` -13. `Krow App – Roadmap - Vendor_ Legendary (Staffing).csv` +1. `KROW App – Roadmap - Business App_ Google, Nvidia.csv` +2. `KROW App – Roadmap - Client_ Google, Nvidia.csv` +3. `KROW App – Roadmap - Compass- The Operator.csv` +4. `KROW App – Roadmap - Employee App.csv` +5. `KROW App – Roadmap - Features.csv` +6. `KROW App – Roadmap - FoodBuy- Procurement.csv` +7. `KROW App – Roadmap - KROW Dashboard.csv` +8. `KROW App – Roadmap - Offenses.csv` +9. `KROW App – Roadmap - Partner.csv` +10. `KROW App – Roadmap - Roadmap.csv` +11. `KROW App – Roadmap - Sectors_ BA, Flik ( The executors).csv` +12. `KROW App – Roadmap - The Workforce_ Employees.csv` +13. `KROW App – Roadmap - Vendor_ Legendary (Staffing).csv` Parsed signal: 1. 983 non-empty task lines. diff --git a/docs/MOBILE/04-use-case-completion-audit.md b/docs/MOBILE/04-use-case-completion-audit.md index e0fd8ecc..8f7d4e98 100644 --- a/docs/MOBILE/04-use-case-completion-audit.md +++ b/docs/MOBILE/04-use-case-completion-audit.md @@ -211,9 +211,9 @@ | 5.1 Manage Compliance Documents | View/Manage Identity Documents | ✅ | ✅ | ✅ Completed | `documents_page.dart` with `documents_progress_card.dart`. | | 5.2 Manage Tax Forms | Complete W-4 digitally & submit | ✅ | ✅ | ✅ Completed | `form_w4_page.dart` + `FormW4Cubit` fully implemented. | | 5.2 Manage Tax Forms | Complete I-9 digitally & submit | ✅ | ✅ | ✅ Completed | `form_i9_page.dart` + `FormI9Cubit` fully implemented. | -| 5.3 Krow University Training | Navigate to Krow University | ✅ | ❌ | ❌ Not Implemented | `krow_university_screen.dart` exists **only** in prototype. No `krow_university` or training package in real app feature modules. | -| 5.3 Krow University Training | Select Module → Watch Video / Take Quiz | ✅ | ❌ | ⚠️ Prototype Only | Fully prototyped (courses, categories, XP tracking). Not migrated at all. | -| 5.3 Krow University Training | Earn Badge | ✅ | ❌ | ⚠️ Prototype Only | Prototype only. | +| 5.3 KROW University Training | Navigate to KROW University | ✅ | ❌ | ❌ Not Implemented | `krow_university_screen.dart` exists **only** in prototype. No `krow_university` or training package in real app feature modules. | +| 5.3 KROW University Training | Select Module → Watch Video / Take Quiz | ✅ | ❌ | ⚠️ Prototype Only | Fully prototyped (courses, categories, XP tracking). Not migrated at all. | +| 5.3 KROW University Training | Earn Badge | ✅ | ❌ | ⚠️ Prototype Only | Prototype only. | | 5.4 Account Settings | Update Bank Details | ✅ | ✅ | ✅ Completed | `bank_account_page.dart` + `BankAccountCubit` in `profile_sections/finances/staff_bank_account`. | | 5.4 Account Settings | View Benefits | ✅ | ❌ | ⚠️ Prototype Only | `benefits_screen.dart` exists only in prototype. No `benefits` package in real app. | | 5.4 Account Settings | Access Support / FAQs | ✅ | ✅ | ✅ Completed | `faqs_page.dart` with `FAQsBloc` and search in `profile_sections/support/faqs`. | @@ -263,7 +263,7 @@ The following are **high-priority missing flows** that block core business value: -1. **Staff: Krow University & Benefits** +1. **Staff: KROW University & Benefits** Several modules exist in the prototype but are missing in the real app, including training Modules, XP tracking, and Benefits views. --- @@ -341,7 +341,7 @@ The following screens exist **only** in the prototypes and have no real-app equi | Screen | Path | |:---|:---| | Benefits | `worker/benefits_screen.dart` | -| Krow University | `worker/worker_profile/level_up/krow_university_screen.dart` | +| KROW University | `worker/worker_profile/level_up/krow_university_screen.dart` | | Leaderboard | `worker/worker_profile/level_up/leaderboard_screen.dart` | | Training Modules | `worker/worker_profile/level_up/trainings_screen.dart` | | In-App Messages | `worker/worker_profile/support/messages_screen.dart` | @@ -352,7 +352,7 @@ The following screens exist **only** in the prototypes and have no real-app equi ### Sprint Focus Areas (Priority Order) -| 🟠 P2 | Migrate Krow University training module from prototype | Large | +| 🟠 P2 | Migrate KROW University training module from prototype | Large | | 🟠 P2 | Migrate Benefits view from prototype | Medium | | 🟡 P3 | Migrate Workers List to real app (`client/workers`) | Medium | | 🟡 P3 | Formally document undocumented features (NFC, History tab, etc.) | Small | diff --git a/docs/research/maestro-test-run-instructions.md b/docs/research/maestro-test-run-instructions.md index 190b83b0..831d0a38 100644 --- a/docs/research/maestro-test-run-instructions.md +++ b/docs/research/maestro-test-run-instructions.md @@ -49,7 +49,7 @@ adb install apps/mobile/apps/staff/build/app/outputs/flutter-apk/app-debug.apk # Client login credentials export TEST_CLIENT_EMAIL=legendary@krowd.com export TEST_CLIENT_PASSWORD=Demo2026! -export TEST_CLIENT_COMPANY="Krow Demo" +export TEST_CLIENT_COMPANY="KROW Demo" # Staff login credentials export TEST_STAFF_PHONE=5557654321 diff --git a/internal/api-harness/src/components/Layout.jsx b/internal/api-harness/src/components/Layout.jsx index b2384a86..f2bb22c4 100644 --- a/internal/api-harness/src/components/Layout.jsx +++ b/internal/api-harness/src/components/Layout.jsx @@ -90,7 +90,7 @@ const Layout = () => {