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:
195
.gitignore
vendored
195
.gitignore
vendored
@@ -1,85 +1,164 @@
|
||||
# General
|
||||
# ----------------------------------------------------------------
|
||||
# macOS generated files
|
||||
# ==============================================================================
|
||||
# GLOBAL & OS
|
||||
# ==============================================================================
|
||||
.DS_Store
|
||||
.DS_Store?
|
||||
._*
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
.Spotlight-V100
|
||||
.Trashes
|
||||
Thumbs.db
|
||||
Thumbs.db:encryptable
|
||||
ehthumbs.db
|
||||
ehthumbs_vista.db
|
||||
desktop.ini
|
||||
$RECYCLE.BIN/
|
||||
.Trash-*
|
||||
|
||||
# IDE configuration files
|
||||
# IDE & Editors
|
||||
.idea/
|
||||
.vscode/
|
||||
*.iml
|
||||
*.iws
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
\#*\#
|
||||
.\#*
|
||||
|
||||
# Log and cache files
|
||||
# Logs & Cache
|
||||
*.log
|
||||
*.cache
|
||||
*.pyc
|
||||
__pycache__/
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
*.pid
|
||||
*.seed
|
||||
*.pid.lock
|
||||
|
||||
# Secrets (never commit these)
|
||||
# The secrets/ directory is handled by its own .gitignore, but this is an extra layer of safety.
|
||||
# Temporary Files
|
||||
*.tmp
|
||||
*.temp
|
||||
tmp/
|
||||
temp/
|
||||
|
||||
# ==============================================================================
|
||||
# SECURITY (CRITICAL)
|
||||
# ==============================================================================
|
||||
# Secrets directory (contains API keys, service accounts)
|
||||
secrets/
|
||||
*.env
|
||||
.env.*
|
||||
# Environment files
|
||||
.env
|
||||
.env.local
|
||||
.env.*.local
|
||||
.env.development
|
||||
.env.production
|
||||
.env.test
|
||||
!.env.example
|
||||
|
||||
# OS-specific files
|
||||
Thumbs.db
|
||||
ehthumbs.db
|
||||
# Certificates & Keys
|
||||
*.pem
|
||||
*.key
|
||||
*.jks
|
||||
*.keystore
|
||||
*.p12
|
||||
*.cer
|
||||
|
||||
# GCP Service Account Keys
|
||||
gcp_keys/
|
||||
**/*.service-account.json
|
||||
**/sa.json
|
||||
|
||||
# Frontend Web (Vite / React)
|
||||
# ----------------------------------------------------------------
|
||||
frontend-web/node_modules/
|
||||
frontend-web/dist/
|
||||
frontend-web/.env.local
|
||||
frontend-web/coverage/
|
||||
frontend-web/.vite/
|
||||
/frontend-web/src/dataconnect-generated/
|
||||
/internal-api-harness/src/dataconnect-generated/
|
||||
frontend-web-free/src/dataconnect-generated/
|
||||
# NPM Auth
|
||||
.npmrc
|
||||
**/.npmrc
|
||||
!**/.npmrc.template
|
||||
|
||||
# ==============================================================================
|
||||
# NODE.JS / WEB (React, Vite, Functions)
|
||||
# ==============================================================================
|
||||
node_modules/
|
||||
dist/
|
||||
dist-ssr/
|
||||
coverage/
|
||||
.nyc_output/
|
||||
.vite/
|
||||
.temp/
|
||||
*.local
|
||||
.eslintcache
|
||||
.stylelintcache
|
||||
.npm
|
||||
.turbo
|
||||
.vercel
|
||||
|
||||
# Vite timestamps
|
||||
vite.config.js.timestamp-*
|
||||
vite.config.ts.timestamp-*
|
||||
|
||||
# Generated Data Connect SDKs in web projects
|
||||
# Generally ignored as they are regenerated on build
|
||||
**/dataconnect-generated/
|
||||
|
||||
# ==============================================================================
|
||||
# FLUTTER / MOBILE
|
||||
# ==============================================================================
|
||||
# Flutter/Dart
|
||||
.dart_tool/
|
||||
.pub-cache/
|
||||
.flutter-plugins
|
||||
.flutter-plugins-dependencies
|
||||
|
||||
# Mobile (Flutter)
|
||||
# ----------------------------------------------------------------
|
||||
# Android
|
||||
.gradle/
|
||||
**/android/app/libs/
|
||||
**/android/key.properties
|
||||
**/android/local.properties
|
||||
|
||||
mobile-apps/*/.dart_tool/
|
||||
mobile-apps/*/.pub-cache/
|
||||
mobile-apps/*/build/
|
||||
mobile-apps/*/.flutter-plugins
|
||||
mobile-apps/*/.flutter-plugins-dependencies
|
||||
# Build outputs
|
||||
build/
|
||||
|
||||
# iOS
|
||||
**/ios/Flutter/Generated.xcconfig
|
||||
**/ios/Flutter/flutter_export_environment.sh
|
||||
**/ios/Podfile.lock
|
||||
**/ios/Pods/
|
||||
**/ios/.symlinks/
|
||||
|
||||
# Firebase / Backend
|
||||
# ----------------------------------------------------------------
|
||||
# Python virtual environments
|
||||
firebase/functions/venv/
|
||||
firebase/dataconnect/venv/
|
||||
# ==============================================================================
|
||||
# FIREBASE & BACKEND
|
||||
# ==============================================================================
|
||||
# Firebase Cache & Emulators
|
||||
.firebase/
|
||||
dataconnect/.dataconnect/
|
||||
backend/dataconnect/.dataconnect/
|
||||
|
||||
# Firebase emulator logs
|
||||
*.log
|
||||
firebase-debug.log
|
||||
firebase-debug.*.log
|
||||
firestore-debug.log
|
||||
ui-debug.log
|
||||
# Debug Logs (Recursive)
|
||||
**/firebase-debug.log
|
||||
**/firebase-debug.*.log
|
||||
**/firestore-debug.log
|
||||
**/ui-debug.log
|
||||
**/database-debug.log
|
||||
**/pubsub-debug.log
|
||||
|
||||
# Generated SDKs (can be regenerated, so often ignored)
|
||||
# Decide with your team if you want to commit these or not.
|
||||
# For now, we will commit them to simplify setup for new developers.
|
||||
# @dataconnect/
|
||||
# Python Virtual Envs (if used)
|
||||
venv/
|
||||
env/
|
||||
ENV/
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
*.so
|
||||
|
||||
# ==============================================================================
|
||||
# PROJECT SPECIFIC
|
||||
# ==============================================================================
|
||||
# Secure hashes are committed, but the raw user list is usually kept for reference
|
||||
# unless it contains sensitive info. Here we explicitly ignore the raw file.
|
||||
internal/launchpad/iap-users.txt
|
||||
|
||||
# Temporary files from this project
|
||||
# ----------------------------------------------------------------
|
||||
# The Base44 export directory should not be committed
|
||||
/krow-workforce-export-latest/
|
||||
|
||||
# The legacy Laravel project should not be committed
|
||||
/legacy-web/
|
||||
|
||||
# The temporary mobile app folders should not be committed
|
||||
/flutter-mobile-client-app/
|
||||
/flutter-mobile-staff-app/
|
||||
/inspiration/
|
||||
# Temporary migration artifacts
|
||||
_legacy/
|
||||
krow-workforce-export-latest/
|
||||
|
||||
Reference in New Issue
Block a user