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:
bwnyasse
2026-01-10 22:36:29 -05:00
parent a0d820d3ce
commit 3c0488576b
20 changed files with 396 additions and 410 deletions

74
docs/03-contributing.md Normal file
View File

@@ -0,0 +1,74 @@
# Contributing to KROW Workforce Platform
Welcome to the KROW Workforce development team! This guide will help you get set up and understand our development practices.
---
## 🚀 Getting Started & Setup Checklist
Follow these steps to set up your development environment and gain access to all necessary resources.
1. **Access Google Chat Space:**
* Ensure you have been invited to and joined our main Google Chat space for daily communication and quick questions.
2. **GitHub Access & SSH Key:**
* Confirm you have read/write access to this GitHub repository.
* Configure your SSH key for GitHub. Ensure your commits are verified (GPG signing is recommended).
3. **Install & Configure Gemini CLI:**
* Install the Gemini CLI on your local machine.
* Familiarize yourself with its usage for code assistance and documentation.
4. **Install & Configure Enpass:**
* Install Enpass (our team's shared password manager).
* Ensure you have access to the shared KROW vault for all project credentials (API keys, service accounts, etc.).
5. **Install Recommended Development Tools:**
* **IDE:** We recommend **VS Code** or **Vim/Neovim** for development.
* **Diagramming:** Use **MermaidChart.com** for creating and editing diagrams (Mermaid syntax).
6. **Local Development Environment Setup:**
* Clone the monorepo: `git clone git@github.com:Oloodi/krow-workforce.git`
* Navigate to the project root: `cd krow-workforce`
* Install web frontend dependencies: `make install`
- **Install Git Hooks:**
- Run `make install-git-hooks` to set up local safeguards that prevent direct pushes to protected branches (`main` and `dev`). **This is a mandatory step.**
7. **Firebase Project Access Validation:**
* Confirm you have access to the `dev` Firebase/GCP project.
* Verify you can run `firebase login` and `gcloud auth login` successfully.
8. **Understand the Monorepo Structure:**
* Familiarize yourself with the project layout (`apps/`, `backend/`, `internal/`) as described in the main `README.md`.
---
## 💡 Development Guidelines
1. **Branching Strategy:**
* We adopt a **feature branch workflow**. All code modifications must be done on a new branch.
* The `main` and `dev` branches are protected.
2. **Commit Messages:**
* Use clear and descriptive commit messages (standardized via Open Commit if available).
3. **Code Standards:**
* Adhere to existing code style, formatting, and architectural patterns found in the codebase.
* Run linters and formatters before committing.
4. **Documentation:**
* Keep documentation up to date in the `docs/` directory.
5. **Diagrams:**
* All diagrams should be created using **Mermaid syntax** and stored in Markdown files.
---
## 🔗 Useful Links
- **KROW Internal Launchpad:** [https://launchpad.krowwithus.com](https://launchpad.krowwithus.com)
- **Project Vision:** [docs/00-vision.md](./00-vision.md)
- **Backend Specification:** [docs/01-backend-api-specification.md](./01-backend-api-specification.md)
- **Codemagic Env Vars:** [docs/02-codemagic-env-vars.md](./02-codemagic-env-vars.md)