# 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.