Skip to content

Code Distribution

magic_development is the master codebase. All code changes are made here first, tested, then distributed to the other 7+ tenants.

  1. Develop in magic_development

    Terminal window
    cd /mnt/data/magic_omniverse/magic_commerce/magic_development/backend/
    # Edit files in src/
  2. Rebuild and test

    Terminal window
    cd /mnt/data/magic_omniverse/magic_commerce/magic_development
    docker compose build backend
    docker compose up -d backend
  3. Verify at https://admin-development.magiceverse.online

  4. Distribute to other tenants

    Terminal window
    src="/mnt/data/magic_omniverse/magic_commerce/magic_development/backend/src"
    for tenant in magic_brinxx magic_default magic_logohorloge magic_bovisales magic_demo magic_desluis magic_jodasign magic_spranz; do
    dst="/mnt/data/magic_omniverse/magic_commerce/$tenant/backend/src"
    cp -r "$src/api/admin/aplt/your-changed-route/" "$dst/api/admin/aplt/your-changed-route/"
    done
  5. Rebuild affected tenants

    Terminal window
    cd /mnt/data/magic_omniverse/magic_commerce/magic_brinxx
    docker compose build backend
    docker compose up -d backend
Terminal window
src="/mnt/data/magic_omniverse/magic_commerce/magic_development/backend/src/api/admin/aplt"
for tenant in magic_brinxx magic_default magic_logohorloge magic_bovisales magic_demo magic_desluis magic_jodasign magic_spranz; do
dst="/mnt/data/magic_omniverse/magic_commerce/$tenant/backend/src/api/admin/aplt"
cp "$src/orders/pdf/route.ts" "$dst/orders/pdf/route.ts"
cp "$src/quotations/pdf/route.ts" "$dst/quotations/pdf/route.ts"
done
Terminal window
for d in /mnt/data/magic_omniverse/magic_commerce/*/; do
cd "$d" && docker compose build backend && docker compose up -d backend
done

Use the Dev Projects system to track changes:

Terminal window
# Create project
curl -X POST "https://admin-development.magiceverse.online/admin/dev-projects" \
-H "Content-Type: application/json" \
-d '{"name": "PDF Fix", "project_type": "bugfix"}'
# Track files
curl -X POST "https://admin-development.magiceverse.online/admin/dev-projects/files" \
-H "Content-Type: application/json" \
-d '{"project_id": 1, "files": [{"file_path": "src/api/admin/aplt/orders/pdf/route.ts", "change_type": "modified"}]}'
# Log change
curl -X POST "https://admin-development.magiceverse.online/admin/dev-projects/changelog" \
-H "Content-Type: application/json" \
-d '{"project_id": 1, "action": "fix", "description": "Fixed PDF generation", "changed_by": "developer"}'

Dev Projects creates git branches:

  • Branch pattern: dev-project/{projectCode}
  • Repository root: /mnt/data/magic_omniverse/magic_commerce/magic_development
  • Commits logged with “Dev Projects Bot” author