2025-11-25 09:03:46 -05:00
2025-11-24 16:07:11 -05:00

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:

🤝 Contributing

New to the KROW team? Start here to set up your environment and understand our development practices: 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:

    git clone https://github.com/Oloodi/krow.git
    cd krow
    
  2. Install dependencies for the main web app:

    cd frontend-web
    npm install
    
  3. Run the development server:

    npm run dev
    

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

Description
No description provided
Readme 25 MiB
Languages
Dart 56.5%
JavaScript 20.8%
TypeScript 11.8%
Python 2.2%
C++ 2%
Other 6.7%