Commit Graph

54 Commits

Author SHA1 Message Date
Boris-Wilfried
362055e053 Merge branch 'dev' into 38-admin-scaffold-the-admin-console-web-application 2025-11-16 17:04:18 -05:00
bwnyasse
6824bded16 feat(Makefile): add data connect management commands to Makefile
This commit introduces new commands to streamline Data Connect
management, including enabling APIs, initializing Firebase, and
deploying schemas. These commands enhance developer experience by
providing easy-to-use shortcuts for common Data Connect tasks.
2025-11-16 17:00:41 -05:00
José Salazar
6e247867e1 configuration makefile and dataconnect init 2025-11-16 16:58:23 -05:00
Achintha Isuru
ed6e51a29e feat(documents): add architecture document for client mobile application 2025-11-16 16:57:47 -05:00
Achintha Isuru
26dff819a1 feat(diagrams): add comprehensive architecture and use case diagrams for client mobile application 2025-11-16 16:57:47 -05:00
Achintha Isuru
c329dbe138 feat(diagrams): add new Mermaid diagrams for client mobile application overview, use cases, API map, and backend architecture 2025-11-16 16:57:47 -05:00
Achintha Isuru
21a1c69a41 feat(documents): update title in documents config to include migration plan 2025-11-16 16:57:47 -05:00
Achintha Isuru
8e0d9e2cf7 feat(documents): add document viewer and configuration for loading markdown files 2025-11-16 16:57:46 -05:00
Achintha Isuru
662008c870 feat(diagrams): add Mermaid diagrams for backend architecture, API map, and use-case flows 2025-11-16 16:57:46 -05:00
bwnyasse
613d64ae9f chore: remove firebase/internal-launchpad/app.yaml
The file is no longer needed.
2025-11-16 16:52:34 -05:00
Boris-Wilfried
167017c82e Merge pull request #43 from Oloodi/setup/dataconnect-init-clean
configuration makefile and dataconnect init
2025-11-16 16:52:19 -05:00
bwnyasse
0467e5b5df feat: remove legacy app engine deployment artifacts
This commit removes obsolete files and configurations related to the
previous App Engine deployment of the internal-launchpad service.
These artifacts are no longer needed since the service has been
migrated to Cloud Run.

The following changes were made:

- Deleted `fix-appengine-permissions-complete.sh`,
 `fix-project-level-permissions.sh`, and
 `create-missing-repository.sh` scripts.
- Removed the `app.yaml` file from `firebase/internal-launchpad/`.
- Updated `firebase.json` to remove the `launchpad` hosting target.
- Added `security` label to `labels.yml`
2025-11-16 16:47:51 -05:00
Boris-Wilfried
f1c7295028 Merge pull request #46 from Oloodi/achintha-dev
feat: add diagrams and documents related to legacy krow staff and client applications
2025-11-16 16:26:45 -05:00
Achintha Isuru
c3073a26d2 Merge remote-tracking branch 'origin/main' into achintha-dev 2025-11-16 11:12:27 -05:00
bwnyasse
b8739164af feat(Makefile): allow filtering issues by state and label in export-issues target
feat(scripts/export_issues.sh): allow filtering issues by state and label

This commit introduces changes to both the Makefile and the
export_issues.sh script to allow users to filter GitHub issues
by state and label when exporting them to a markdown file.

The Makefile's `export-issues` target now accepts an optional
`ARGS` variable, which is passed to the `export_issues.sh`
script. This allows users to specify command-line arguments
such as `--state=all` or `--label=bug` to filter the issues
being exported.

The `export_issues.sh` script has been updated to parse these
command-line arguments and use them to construct the `gh issue
list` command. The script now supports the `--state` and
`--label` options, which allow users to filter issues by their
state (e.g., open, closed, all) and label, respectively.

These changes provide users with more flexibility in exporting
GitHub issues, allowing them to generate markdown files that
contain only the issues that are relevant to their needs.
2025-11-16 11:01:43 -05:00
bwnyasse
cf2a2d89d9 feat(admin-web): add KROW logo and title to admin console
feat(admin-web): display environment badge in admin console
feat(admin-web): configure Nginx for SPA and copy config
fix(Makefile): fix typo in CR_ADMIN_IMAGE_URI variable assignment
feat(firebase): update launchpad title to "Launchpad"
2025-11-16 08:54:11 -05:00
bwnyasse
813988293e feat(Makefile): introduce admin console deployment to Cloud Run with IAP
feat(Makefile): add IAP configuration management for both launchpad and admin
feat(Makefile): refactor IAP user management commands for reusability
feat(Makefile): add Dockerfile for admin-web to containerize the application
feat(Makefile): remove App Engine deployment targets for admin-web

This commit introduces significant changes to the deployment process
for the admin console, migrating it from App Engine to Cloud Run and
integrating Identity-Aware Proxy (IAP) for enhanced security.

The key changes include:

- **Admin Console Deployment to Cloud Run:** The admin console is now
 deployed to Cloud Run using a Dockerfile that builds and
 containerizes the application. This provides a more scalable and
 flexible deployment environment.
- **IAP Integration:** IAP is now enabled for the admin console,
 restricting access to authorized users only. This enhances the
 security of the application and protects sensitive data.
- **IAP Configuration Management:** New commands have been added to
 the Makefile to manage IAP configuration for both the launchpad and
 admin console. These commands allow for easy addition and removal
 of IAP users.
- **Refactored IAP User Management Commands:** The IAP user management
 commands have been refactored to be more reusable and generic. This
 allows for easier management of IAP users for both the launchpad and
 admin console.
- **Removal of App Engine Deployment Targets:** The App Engine
 deployment targets for the admin console have been removed, as the
 application is now deployed to Cloud Run.

These changes provide a more secure, scalable, and maintainable
deployment process for the admin console.
2025-11-16 08:26:20 -05:00
bwnyasse
3bd2dfc002 refactor(Makefile): remove App Engine configs and scripts, migrate launchpad to Cloud Run
This commit removes legacy App Engine deployment artifacts and updates the Makefile to reflect the successful migration of the `internal-launchpad` service to Cloud Run.

The following changes were made:

- Deleted obsolete permission scripts:
 - `fix-appengine-permissions-complete.sh`
 - `fix-project-level-permissions.sh`
 - `create-missing-repository.sh`
- Removed the `firebase/internal-launchpad/app.yaml` file.
- Updated `firebase.json` to remove the `launchpad` hosting configuration.

These changes streamline the repository, reduce developer confusion, and prevent the accidental use of outdated deployment logic.
2025-11-16 08:10:31 -05:00
Achintha Isuru
fe6186265a feat(documents): add architecture document for client mobile application 2025-11-15 23:18:18 -05:00
Achintha Isuru
8005161fb6 feat(diagrams): add comprehensive architecture and use case diagrams for client mobile application 2025-11-15 23:13:58 -05:00
Achintha Isuru
865484a508 feat(diagrams): add new Mermaid diagrams for client mobile application overview, use cases, API map, and backend architecture 2025-11-15 23:00:15 -05:00
José Salazar
81323fa7c3 configuration makefile and dataconnect init 2025-11-15 19:24:33 -05:00
Achintha Isuru
e88538efd6 feat(documents): update title in documents config to include migration plan 2025-11-15 18:25:21 -05:00
Achintha Isuru
453012fa0d feat(documents): add document viewer and configuration for loading markdown files 2025-11-15 18:16:23 -05:00
Achintha Isuru
678d46e87d feat(diagrams): add Mermaid diagrams for backend architecture, API map, and use-case flows 2025-11-15 17:49:18 -05:00
bwnyasse
383fc14bf8 feat(Makefile): add admin console commands to Makefile
feat(README.md): update README to reflect monorepo structure and admin console
feat: remove setup_admin_console.sh script

The setup_admin_console.sh script is removed because the admin console setup is now integrated into the Makefile.
The README is updated to reflect the new monorepo structure and the admin console.
The Makefile is updated to include commands for installing, developing, and building the admin console.
2025-11-15 17:38:58 -05:00
bwnyasse
9db589d43f feat: add admin-web application with React and Vite
feat(admin-web): implement basic layout and navigation
feat(admin-web): implement dashboard page with key metrics
feat(admin-web): implement user management page
feat(admin-web): implement analytics page with user stats
feat(admin-web): implement logs explorer page
style(admin-web): add tailwind css and shadcn/ui components
build(admin-web): configure eslint and prettier for code quality

This commit introduces the admin-web application, a React-based
administration console built with Vite.

- The application provides a central interface for managing
 users, monitoring platform health, and troubleshooting issues.
- It includes a basic layout with navigation, a dashboard
 displaying key metrics, a user management page, an analytics
 page with user statistics, and a logs explorer page.
- Tailwind CSS and shadcn/ui components are used for styling.
- ESLint and Prettier are configured to ensure code quality.
2025-11-15 17:38:48 -05:00
bwnyasse
edf3dc4042 feat: add base44 entity schemas reference
feat: add issue template
feat: add labels.yml with platform:admin label
feat: add setup_admin_console.sh script and update Makefile

This commit introduces several new features and files to the
repository:

- Adds a reference document for Base44 entity schemas to
 ensure data integrity during the migration to the new
 GCP/Firebase backend.
- Adds an issue template to standardize issue reporting and
 ensure all necessary information is included.
- Adds a new label to `labels.yml` for tasks specific to the
 Admin Console web app.
- Adds a shell script to automate the setup of the Admin
 Console web application, including scaffolding,
 dependency installation, and configuration. Also updates
 the Makefile to include new targets for managing the Admin
 Console application.
- Adds issues to create markdown file.
2025-11-14 18:50:24 -05:00
Oloodi Admin
07626dd340 Merge pull request #35 from Oloodi/3-setup-create-internal-developer-launchpad
3 setup create internal developer launchpad
2025-11-14 14:04:15 -05:00
bwnyasse
20c29dc695 update 2025-11-14 12:59:00 -05:00
bwnyasse
0921ae9fc3 feat(firebase/internal-launchpad): migrate launchpad to Tailwind CSS for improved styling and maintainability
feat(firebase/internal-launchpad): enhance UI with Tailwind CSS, improving responsiveness and aesthetics
feat(firebase/internal-launchpad): improve diagram loading and error handling
feat(firebase/internal-launchpad): enhance navigation with Tailwind CSS styling
feat(firebase/internal-launchpad): improve home view with Tailwind CSS styling
feat(firebase/internal-launchpad): add pan and zoom functionalities to diagrams
2025-11-14 10:05:54 -05:00
bwnyasse
b7477944bc feat: update title and favicon in index.html
This commit updates the title and favicon in the index.html file
to reflect the new KROW branding. It also updates the links in
the internal launchpad to point to the correct environments.

feat: add script to patch index.html during integration

This commit adds a new script to patch the index.html file during
the integration process. This script updates the title and favicon
to reflect the new KROW branding.

style: update badge style in Dashboard.jsx

This commit updates the badge style in the Dashboard.jsx file to
use a span element with rounded corners instead of the Badge
component. This is to match the design of the new KROW branding.
2025-11-14 09:06:30 -05:00
bwnyasse
7159f6de07 fix(index.html): change title from KROW to Base44 APP 2025-11-14 08:55:37 -05:00
bwnyasse
9bdb250714 feat: add firebase configuration and deployment scripts
This commit introduces Firebase configuration files (.firebaserc,
firebase.json) and updates the Makefile to include deployment
commands for different environments (dev, staging).

The .firebaserc file defines Firebase projects for development and
staging, along with hosting targets.

The firebase.json file configures hosting settings, including
rewrites and ignores. It defines hosting targets for the main app
in dev and staging, and a separate target for an internal launchpad.

The Makefile is updated to include:
- GCP project IDs for dev and staging.
- Environment detection (ENV variable).
- Conditional variables based on the environment (GCP_PROJECT_ID,
 FIREBASE_ALIAS, HOSTING_TARGET).
- Deployment commands for the launchpad and the main app.
- The build command now passes the environment variable to the
 frontend build process.

The internal launchpad is added to firebase/internal-launchpad/index.html
to provide quick access to application URLs and Firebase/GCP
consoles for different environments.

A patch script is added to inject the environment label into the
Dashboard page.

The index.html title is changed to KROW.

These changes enable streamlined deployment and environment
management for the KROW application.
2025-11-14 08:53:00 -05:00
Boris-Wilfried
a4f1153d57 Merge pull request #34 from Oloodi/achintha-dev
feat: Add Mermaid diagram support and configuration
2025-11-14 06:05:33 -05:00
bwnyasse
16a5cd9f6f feat: create internal launchpad for KROW
This commit introduces a new internal launchpad for the KROW
project. The launchpad provides a centralized location for
accessing applications, resources, and diagrams related to the
project.

The launchpad includes the following features:

- A sidebar navigation menu for accessing different sections of
 the launchpad.
- A home view with links to applications and resources.
- A diagram viewer for displaying static SVG and dynamic Mermaid
 diagrams.
- Zoom and pan functionality for diagrams.
- Dynamic loading of Mermaid diagrams from a configuration file.

This launchpad is designed to improve the discoverability of
project resources and provide a more streamlined experience for
developers and stakeholders.
2025-11-14 06:05:05 -05:00
Boris-Wilfried
160b1f62b6 Merge pull request #33 from Oloodi/32-maintenance-update-web-frontend-with-latest-base44-export
32 maintenance update web frontend with latest base44 export
2025-11-14 05:57:16 -05:00
Achintha Isuru
58ebf49bc6 feat: add favicon.svg for the KROW Launchpad 2025-11-13 18:46:57 -05:00
Achintha Isuru
9afd275d9f feat: add prompts for generating Mermaid diagrams for Flutter application architecture and use cases 2025-11-13 18:39:55 -05:00
Achintha Isuru
0970218682 feat: add dynamic Mermaid diagram support and configuration and add diagrams for legacy staff application 2025-11-13 18:22:47 -05:00
bwnyasse
80cd49deb5 feat(Makefile): install frontend dependencies on dev command
feat(Makefile): patch Layout.jsx queryKey for local development
feat(frontend-web): mock base44 client for local development with role switching
feat(frontend-web): add event assignment modal with conflict detection and bulk assign
feat(frontend-web): add client dashboard with key metrics and quick actions
feat(frontend-web): add layout component with role-based navigation
feat(frontend-web): update various pages to use "@/components" alias
feat(frontend-web): update create event page with ai assistant toggle
feat(frontend-web): update dashboard page with new components
feat(frontend-web): update events page with quick assign popover
feat(frontend-web): update invite vendor page with hover card
feat(frontend-web): update messages page with conversation list and message thread
feat(frontend-web): update operator dashboard page with new components
feat(frontend-web): update partner management page with new components
feat(frontend-web): update permissions page with new components
feat(frontend-web): update procurement dashboard page with new components
feat(frontend-web): update smart vendor onboarding page with new components
feat(frontend-web): update staff directory page with new components
feat(frontend-web): update teams page with new components
feat(frontend-web): update user management page with new components
feat(frontend-web): update vendor compliance page with new components
feat(frontend-web): update main.jsx to include react query provider

feat: add vendor marketplace page
feat: add global import fix to prepare-export script
feat: add patch-layout-query-key script to fix query key
feat: update patch-base44-client script to use a more robust method
2025-11-13 14:56:31 -05:00
bwnyasse
f449272ef0 feat(Makefile): patch base44Client.js for local development
This commit introduces a script to patch the base44Client.js file
within the frontend-web directory. This patch is specifically
designed to facilitate local development by mocking user roles and
authentication, allowing developers to test role-based functionality
without needing a full Base44 SDK setup.

The Makefile is updated to include a call to this script during the
`integrate-export` target, ensuring that the patch is applied
automatically when integrating a fresh Base44 export.

This change streamlines the local development process and enhances
the testing capabilities for role-based features.
2025-11-13 13:44:17 -05:00
Boris-Wilfried
7d924a7670 Merge pull request #31 from Oloodi/30-launchpad-add-links-to-existing-mobile-apps
feat(launchpad.html): add links to legacy mobile apps on app stores
2025-11-13 13:23:29 -05:00
bwnyasse
01c592d28f feat(launchpad.html): add links to legacy mobile apps on app stores
This commit adds a new card to the launchpad page with links to the
legacy mobile apps on the Google Play Store and Apple App Store. This
will make it easier for users to find and access the legacy mobile apps.
2025-11-13 13:22:13 -05:00
Boris-Wilfried
0a69f99e8f Merge pull request #29 from Oloodi/dev
feat: add git pre-push hook to prevent direct pushes to protected bra…
2025-11-13 11:45:14 -05:00
bwnyasse
0f9ca9eb15 feat: add git pre-push hook to prevent direct pushes to protected branches
This commit introduces a pre-push Git hook that prevents direct
pushes to the `main` and `dev` branches. This enforces the use of
pull requests for merging changes into these protected branches,
promoting code review and maintaining branch stability.

The changes include:
- Adding a `install-git-hooks` target to the Makefile to symlink
 the pre-push script into the `.git/hooks/` directory.
- Creating the `scripts/git-hooks/pre-push` script that checks the
 target branch and aborts the push if it matches a protected branch.
- Updating the `CONTRIBUTING.md` file to instruct developers to
 install the Git hooks after setting up their development
 environment.
2025-11-13 11:44:01 -05:00
bwnyasse
6540d01175 feat: add SR&ED tracking and project management tools
This commit introduces several new files and updates to support
SR&ED tracking and project management:

- Adds a template for SR&ED tasks to standardize issue creation.
- Adds a Makefile command to set up GitHub labels from a YAML file.
- Adds a Makefile command to export SR&ED-eligible issues to a
 Markdown file.
- Adds a Makefile command to create issues from a file.
- Adds documentation for SR&ED tracking and development
 conventions.
- Adds a YAML file to define GitHub labels.
- Adds scripts to set up GitHub labels, export issues, and create
 issues from a file.
- Updates the project plan to include SR&ED considerations.

These changes aim to improve project organization, facilitate
SR&ED claims, and streamline development workflows.
2025-11-13 11:33:52 -05:00
bwnyasse
5d718ff077 fix(README.md): remove redundant 'bash' keyword in code block
The 'bash' keyword was unnecessary and detracted from the
cleanliness of the README. This commit removes it.
2025-11-12 12:52:02 -05:00
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
Boris-Wilfried
92fd0118be Merge pull request #1 from Oloodi/integration/base44-update-2025-11-11
feat(scripts/prepare-export.js): convert script to ES module syntax
2025-11-11 07:27:06 -05:00