128 lines
6.0 KiB
Markdown
128 lines
6.0 KiB
Markdown
<p align="center">
|
|
<img src="apps/mobile/packages/design_system/assets/logo-yellow.png" alt="KROW Logo" width="200"/>
|
|
</p>
|
|
|
|
# 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.
|
|
|
|
## 📍 Current Status
|
|
|
|
**Latest Milestone:** M4 (Released: March 5, 2026)
|
|
- ✅ Staff Mobile App: [v0.0.1-m4](https://github.com/Oloodi/krow-workforce/releases/tag/krow-withus-worker-mobile%2Fdev-v0.0.1-m4)
|
|
- ✅ Client Mobile App: [v0.0.1-m4](https://github.com/Oloodi/krow-workforce/releases/tag/krow-withus-client-mobile%2Fdev-v0.0.1-m4)
|
|
|
|
## 🚀 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).
|
|
- **`/.github`**: GitHub Actions workflows for CI/CD and release automation.
|
|
|
|
## 🛠️ 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:**
|
|
```bash
|
|
make help
|
|
```
|
|
|
|
2. **Install dependencies (Web):**
|
|
```bash
|
|
make install
|
|
```
|
|
|
|
3. **Run the Web Dashboard locally:**
|
|
```bash
|
|
make dev
|
|
```
|
|
|
|
4. **Run the DevOps Launchpad locally:**
|
|
```bash
|
|
make launchpad-dev
|
|
```
|
|
|
|
5. **Mobile app development:**
|
|
```bash
|
|
make mobile-install
|
|
make mobile-client-dev-android [DEVICE=android]
|
|
make mobile-staff-dev-android [DEVICE=android]
|
|
```
|
|
|
|
## 🚀 Release Process
|
|
|
|
### Mobile App Releases
|
|
|
|
We use GitHub Actions for automated mobile releases:
|
|
|
|
- **Standard Release**: Trigger [Product Release workflow](https://github.com/Oloodi/krow-workforce/actions/workflows/product-release.yml)
|
|
- Auto-extracts version from `pubspec.yaml`
|
|
- Creates Git tags: `krow-withus-<app>-mobile/<env>-vX.Y.Z`
|
|
- Generates GitHub Release with CHANGELOG
|
|
- Builds and signs APK (dev/stage/prod keystores)
|
|
|
|
- **Hotfix Release**: Trigger [Hotfix Branch Creation workflow](https://github.com/Oloodi/krow-workforce/actions/workflows/hotfix-branch-creation.yml)
|
|
- Auto-increments PATCH version
|
|
- Updates `pubspec.yaml` and `CHANGELOG.md`
|
|
- Creates PR with fix instructions
|
|
|
|
**See:** [Mobile Release Documentation](./docs/RELEASE/mobile-releases.md) for complete guide.
|
|
|
|
## 📚 Documentation
|
|
|
|
### Core Documentation
|
|
- **[00-vision.md](./docs/00-vision.md)**: Project objectives and guiding principles.
|
|
- **[01-backend-api-specification.md](./docs/01-backend-api-specification.md)**: (Legacy) Reference for data schemas.
|
|
- **[02-codemagic-env-vars.md](./docs/02-codemagic-env-vars.md)**: Guide for CI/CD environment variables.
|
|
- **[03-contributing.md](./docs/03-contributing.md)**: Guidelines for new developers and setup checklist.
|
|
- **[04-sync-prototypes.md](./docs/04-sync-prototypes.md)**: How to sync prototypes for local dev and AI context.
|
|
- **[05-project-onboarding-master.md](./docs/05-project-onboarding-master.md)**: Comprehensive onboarding guide and project overview.
|
|
|
|
### Mobile Development Documentation
|
|
- **[MOBILE/00-agent-development-rules.md](./docs/MOBILE/00-agent-development-rules.md)**: Rules and best practices for mobile development.
|
|
- **[MOBILE/01-architecture-principles.md](./docs/MOBILE/01-architecture-principles.md)**: Flutter clean architecture, package roles, and dependency flow.
|
|
- **[MOBILE/02-design-system-usage.md](./docs/MOBILE/02-design-system-usage.md)**: Design system components and theming guidelines.
|
|
- **[MOBILE/03-data-connect-connectors-pattern.md](./docs/MOBILE/03-data-connect-connectors-pattern.md)**: Data Connect integration patterns.
|
|
- **[MOBILE/04-use-case-completion-audit.md](./docs/MOBILE/04-use-case-completion-audit.md)**: Feature implementation status and audit.
|
|
- **[MOBILE/05-release-process.md](./docs/MOBILE/05-release-process.md)**: Mobile app release process (quick reference).
|
|
|
|
### Release Documentation
|
|
- **[RELEASE/mobile-releases.md](./docs/RELEASE/mobile-releases.md)**: Comprehensive mobile release guide with versioning, CHANGELOGs, GitHub Actions workflows, and APK signing.
|
|
|
|
### CHANGELOGs
|
|
- **[Staff Mobile CHANGELOG](./apps/mobile/apps/staff/CHANGELOG.md)**: Staff app release history (M3, M4).
|
|
- **[Client Mobile CHANGELOG](./apps/mobile/apps/client/CHANGELOG.md)**: Client app release history (M3, M4).
|
|
|
|
## 🤝 Contributing
|
|
New to the team? Please read our **[Contributing Guide](./docs/03-contributing.md)** to get your environment set up and understand our workflow.
|
|
|
|
---
|
|
© 2026 KROW Workforce / Oloodi Technologies Inc.
|