refactor: restructure monorepo to align with industry standards
This commit restructures the monorepo to improve organization, maintainability, and scalability. The changes include: - Moving mobile apps from `mobile-apps/` to `apps/mobile-*`. - Moving the web dashboard from `admin-web/` and `frontend-web/` to `apps/web-dashboard/`. - Moving Firebase-related files to the root `firebase/` directory. - Adding a `.geminiignore` file to exclude unnecessary files from Gemini analysis. - Updating `.gitignore` to reflect the new structure and exclude sensitive files. - Updating `codemagic.yaml` to reflect the new app locations. - Adding a `make help` command to the root directory. - Adding a `make install-git-hooks` command to install git hooks. - Adding a `docs/02-codemagic-env-vars.md` file to document Codemagic environment variables. - Adding a `docs/03-contributing.md` file to document contribution guidelines. - Adding prototype placeholders to the internal launchpad. - Updating the `README.md` file to reflect the new structure and provide updated instructions. These changes improve the overall structure of the monorepo and make it easier to develop, maintain, and scale the KROW Workforce platform.
This commit is contained in:
111
README.md
111
README.md
@@ -1,81 +1,70 @@
|
||||
# Krow Workforce Management Platform
|
||||
# KROW Workforce Monorepo
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
## 🚀 What's in this Monorepo?
|
||||
## 🚀 Repository Structure
|
||||
|
||||
- **/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.
|
||||
### 📦 Apps (`/apps`)
|
||||
These are the production-ready applications for our users:
|
||||
- **`web-dashboard/`**: The primary React/Vite dashboard for Admin, Vendors, and Clients.
|
||||
- **`mobile-client/`**: Flutter application for final clients to manage orders and billing.
|
||||
- **`mobile-staff/`**: Flutter application for staff members (scheduling, clock-in/out, earnings).
|
||||
|
||||
- **/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.
|
||||
### ⚙️ Backend (`/backend`)
|
||||
The core data engine powering all applications:
|
||||
- **`dataconnect/`**: Firebase Data Connect configuration, GraphQL schemas (PostgreSQL), and auto-generated SDKs.
|
||||
|
||||
- **/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.
|
||||
### 🛠️ 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).
|
||||
|
||||
- **/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)**
|
||||
### 📂 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).
|
||||
|
||||
## 🛠️ Tech Stack
|
||||
|
||||
- **Frontend:** React with Vite (JavaScript)
|
||||
- **Styling:** Tailwind CSS
|
||||
- **Backend:** Firebase (Firestore, Cloud Storage, Authentication, Data Connect)
|
||||
- **Mobile:** Flutter (planned)
|
||||
- **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
|
||||
|
||||
1. **Clone the repository:**
|
||||
This project uses a modular `Makefile` for all common tasks.
|
||||
|
||||
1. **View available commands:**
|
||||
```bash
|
||||
git clone https://github.com/Oloodi/krow.git
|
||||
cd krow
|
||||
make help
|
||||
```
|
||||
|
||||
2. **Install dependencies for the main web app:**
|
||||
2. **Install dependencies (Web):**
|
||||
```bash
|
||||
cd frontend-web
|
||||
npm install
|
||||
make install
|
||||
```
|
||||
|
||||
3. **Run the development server:**
|
||||
3. **Run the Web Dashboard locally:**
|
||||
```bash
|
||||
npm run dev
|
||||
make dev
|
||||
```
|
||||
|
||||
The main application will be available at `http://localhost:5173`. For other packages, refer to their respective `README.md` files.
|
||||
4. **Run the DevOps Launchpad locally:**
|
||||
```bash
|
||||
make launchpad-dev
|
||||
```
|
||||
|
||||
## 📚 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.
|
||||
|
||||
## 🤝 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.
|
||||
|
||||
Reference in New Issue
Block a user