# Krow Workforce Management Platform

Krow is a comprehensive monorepo platform designed to streamline workforce management for events, hospitality, and large-scale enterprise operations. It connects clients, operators, vendors, and staff in a unified ecosystem, leveraging modern technology to optimize every step from procurement to payroll.

## 🚀 What's in this Monorepo?

-   **/firebase/**: This directory is the backbone of our backend infrastructure. It contains:
    -   **Firestore Rules (`firestore.rules`):** Defines the security and access control logic for our NoSQL database, ensuring that users can only read and write data they are authorized to access.
    -   **Cloud Storage Rules (`storage.rules`):** Secures file uploads and downloads (like compliance documents and user avatars).
    -   **Data Connect (`dataconnect/`):** Houses the configuration for Firebase Data Connect, including the GraphQL schema, connectors, queries, and mutations that define our API layer.

-   **/admin-web/**: The central "mission control" for platform administrators. This React/Vite web application provides a secure interface for:
    -   **User Management:** Inviting new users (the very first client or operator) and managing roles/permissions across the entire ecosystem.
    -   **Platform Analytics:** Monitoring application usage, top pages, and user activity.
    -   **System Logs:** A log explorer for diagnosing issues and monitoring the platform's health.

-   **/frontend-web/**: The primary web application for core business operations, used by procurement managers, operators, and clients. This React/Vite application includes modules for:
    -   **Vendor Management:** Onboarding, compliance tracking, and performance scorecards.
    -   **Event & Order Management:** Creating and managing staffing orders.
    -   **Invoicing & Payroll:** Financial workflows for clients and staff.
    -   **Dashboards:** Role-specific dashboards for different user types.

-   **/mobile-apps/**: This directory is planned for our future mobile applications. It is structured to contain two distinct apps:
    -   `client-app`: A dedicated application for clients to create orders, track events, and manage billing on the go.
    -   `staff-app`: An essential tool for workforce members to view schedules, clock in/out, manage their profiles, and track earnings.

-   **/docs/**: The single source of truth for all project documentation. This includes:
    -   **Vision & Roadmaps:** High-level strategy, product goals, and technical direction.
    -   **Architecture:** Detailed diagrams and explanations of the system architecture.
    -   **API Specifications:** Documentation for our GraphQL API.
    -   **Development Guides:** Conventions, setup instructions, and maintenance procedures.

-   **/scripts/**: A collection of automation scripts to streamline development and operational tasks. These scripts are primarily executed via the `Makefile` and handle tasks like database patching, environment setup, and code generation.

-   **/secrets/**: A Git-ignored directory for storing sensitive credentials, API keys, and environment-specific configuration files. This ensures that no confidential information is ever committed to the repository.

## 📚 Documentation Overview

This section provides a quick guide to the most important documentation files in this monorepo, ordered by logical reading flow:

-   **[00-vision.md](./docs/00-vision.md)**: The "Why" behind the KROW platform, outlining our core objectives and guiding principles.
-   **[01-product-functional-roadmap.md](./docs/01-product-functional-roadmap.md)**: The "What" we are building, from a user-facing features perspective.
-   **[02-architecture-overview.md](./docs/02-architecture-overview.md)**: Visual diagrams explaining the technical architecture of our web and mobile applications.
-   **[03-backend-api-specification.md](./docs/03-backend-api-specification.md)**: The detailed technical specification for our custom backend API.
-   **[04-strategy-technical-roadmap.md](./docs/04-strategy-technical-roadmap.md)**: Our strategic plan for building the platform, outlining phases and milestones.
-   **[05-project-plan.md](./docs/05-project-plan.md)**: A detailed breakdown of tasks by milestone, ready for GitHub Issues.
-   **[06-maintenance-guide.md](./docs/06-maintenance-guide.md)**: The operational manual for integrating updates from the Base44 visual builder.
-   **[07-reference-base44-api-export.md](./docs/07-reference-base44-api-export.md)**: The raw API documentation exported from Base44, used as a reference.
-   **[08-reference-base44-prompts.md](./docs/08-reference-base44-prompts.md)**: A collection of standardized prompts for interacting with the Base44 AI.

## 🤝 Contributing

New to the KROW team? Start here to set up your environment and understand our development practices: **[CONTRIBUTING.md](./CONTRIBUTING.md)**

## 🛠️ Tech Stack

-   **Frontend:** React with Vite (JavaScript)
-   **Styling:** Tailwind CSS
-   **Backend:** Firebase (Firestore, Cloud Storage, Authentication, Data Connect)
-   **Mobile:** Flutter (planned)

## 📦 Getting Started

1.  **Clone the repository:**
    ```bash
    git clone https://github.com/Oloodi/krow.git
    cd krow
    ```

2.  **Install dependencies for the main web app:**
    ```bash
    cd frontend-web
    npm install
    ```

3.  **Run the development server:**
    ```bash
    npm run dev
    ```

The main application will be available at `http://localhost:5173`. For other packages, refer to their respective `README.md` files.