Skip to content

Quick Start

  • Node.js >= 20 (v22 recommended)
  • Docker and Docker Compose
  • SSH access to the server
  • Access to the PostgreSQL database (port 5432)
  1. Make changes in the master tenant

    All development happens in magic_development:

    Terminal window
    cd /mnt/data/magic_omniverse/magic_commerce/magic_development/backend/
  2. Edit source code

    Backend code is in src/:

    src/api/admin/aplt/ # Admin API routes
    src/api/store/ # Store API routes
    src/admin/routes/ # Admin UI pages
    src/modules/ # Custom Medusa modules
  3. Rebuild the backend container

    Terminal window
    cd /mnt/data/magic_omniverse/magic_commerce/magic_development
    docker compose build backend
    docker compose up -d backend
  4. Test your changes

    Visit https://admin-development.magiceverse.online for the admin panel or check logs:

    Terminal window
    docker logs magic_development_backend_dev --tail=50 -f
  5. Distribute to other tenants

    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; do
    dst="/mnt/data/magic_omniverse/magic_commerce/$tenant/backend/src/api/admin/aplt"
    cp -r "$src/your-changed-folder/" "$dst/your-changed-folder/"
    done
  6. Rebuild tenant containers

    Terminal window
    cd /mnt/data/magic_omniverse/magic_commerce/magic_brinxx
    docker compose build backend
    docker compose up -d backend
Terminal window
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" | grep magic_
Terminal window
# Backend logs
docker logs magic_brinxx_backend_dev --tail=50 -f
# Storefront logs
docker logs magic_brinxx_storefront_dev --tail=50 -f
Terminal window
# PostgreSQL
docker exec magic_pim_postgres_dev psql -U postgres -d magic_b2b_brinxx
# MySQL
docker exec mysql mysql -uroot -p<your-db-password> magic_doc
Terminal window
for d in /mnt/data/magic_omniverse/magic_commerce/*/; do
cd "$d" && docker compose build backend && docker compose up -d backend
done
TenantBackendAPIStorefrontRedis
Development40107010100106310
Demo40207020100206320
Default40307030100306330
Brinxx40407040100406340
Bovisales40507050100506350
De Sluis40607060100606360
Jodasign40707070100706370
Logohorloge40807080100806381
Spranz40917090100906391
Master Magic405970596390

Shared Services:

ServicePort
PIM Backend4002
PIM API7992
PostgreSQL5432
MySQL3306

Use the Dev Projects system to track your changes:

Terminal window
# Create a new project
curl -X POST "https://admin-development.magiceverse.online/admin/dev-projects" \
-H "Content-Type: application/json" \
-d '{"name": "My Feature", "description": "Description", "project_type": "feature"}'
# Add files to the project
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/route.ts", "change_type": "modified"}]}'
# Log a changelog entry
curl -X POST "https://admin-development.magiceverse.online/admin/dev-projects/changelog" \
-H "Content-Type: application/json" \
-d '{"project_id": 1, "action": "modify", "description": "Fixed order PDF", "changed_by": "developer"}'