{
  "applications": [
    {
      "id": "hivescales",
      "name": "Beelife Hive Scales",
      "type": "php-static",
      "icon": "⚖️",
      "port": 80,
      "localUrl": "http://localhost/acoffline/abejas/01_hivescales/",
      "remoteUrl": "http://2.139.243.255/acoffline/abejas/01_hivescales/",
      "workDir": "c:\\xampp\\htdocs\\acoffline\\abejas\\01_hivescales",
      "startCommand": null,
      "description": "Hive Scales Dashboard (Requires XAMPP)"
    },
    {
      "id": "veterinary",
      "name": "Beelife Veterinary Cases",
      "type": "php-static",
      "icon": "⚕️",
      "port": 80,
      "localUrl": "http://localhost/acoffline/abejas/02_veterinary/",
      "remoteUrl": "http://2.139.243.255/acoffline/abejas/02_veterinary/",
      "workDir": "c:\\xampp\\htdocs\\acoffline\\abejas\\02_veterinary",
      "startCommand": null,
      "description": "Veterinary Cases Manager (Requires XAMPP)"
    },
    {
      "id": "beeword",
      "name": "BeeWord",
      "type": "php-static",
      "icon": "🔡",
      "port": 80,
      "localUrl": "http://localhost/acoffline/abejas/03_Beeldle/",
      "remoteUrl": "http://2.139.243.255/acoffline/abejas/03_Beeldle/",
      "workDir": "c:\\xampp\\htdocs\\acoffline\\abejas\\03_Beeldle",
      "startCommand": null,
      "description": "BeeWord Game (Requires XAMPP)"
    },
    {
      "id": "beetranslate",
      "name": "BeeTranslate",
      "type": "php-static",
      "icon": "🌐",
      "port": 80,
      "localUrl": "http://localhost/acoffline/abejas/04_Imaghelper/",
      "remoteUrl": "http://2.139.243.255/acoffline/abejas/04_Imaghelper/",
      "workDir": "c:\\xampp\\htdocs\\acoffline\\abejas\\04_Imaghelper",
      "startCommand": null,
      "description": "BeeTranslate Image Helper (Requires XAMPP)"
    },
    {
      "id": "juego-mesa",
      "name": "Nova Guardian",
      "type": "php-static",
      "icon": "🎮",
      "port": 80,
      "localUrl": "http://localhost/acoffline/abejas/05_juego_mesa/",
      "remoteUrl": "http://2.139.243.255/acoffline/abejas/05_juego_mesa/",
      "workDir": "c:\\xampp\\htdocs\\acoffline\\abejas\\05_juego_mesa",
      "startCommand": null,
      "description": "Nova Guardian Board Game (Requires XAMPP)"
    },
    {
      "id": "csv-viewer",
      "name": "Visualizador Avanzado de CSV",
      "type": "node",
      "icon": "📊",
      "port": 3999,
      "localUrl": "http://localhost:3999/",
      "remoteUrl": "http://2.139.243.255:3999/",
      "workDir": "c:\\xampp\\htdocs\\acoffline\\abejas\\06_fast_datasets",
      "startCommand": "node server.js",
      "description": "Advanced CSV Visualizer",
      "tabColor": "#E67E22"
    },
    {
      "id": "beelife-comms",
      "name": "BeeLifeAI Comms Tools",
      "type": "multi-process",
      "icon": "💬",
      "port": 3100,
      "localUrl": "http://localhost:3100/beelife-dashboard.html",
      "remoteUrl": "http://2.139.243.255:3100/beelife-dashboard.html",
      "workDir": "c:\\xampp\\htdocs\\acoffline\\abejas\\10_ainhoa",
      "description": "BeeLifeAI Communication Tools (Multi-process)",
      "additionalPorts": [3080, 3090],
      "tabColor": "#9B59B6",
      "processes": [
        {
          "title": "BeeLifeAI - VertexAI Proxy :3080",
          "command": "node vertexai-proxy.js",
          "port": 3080
        },
        {
          "title": "BeeLifeAI - Veo2 Proxy :3090",
          "command": "node veo2-proxy.js",
          "port": 3090
        },
        {
          "title": "BeeLifeAI - Web Server :3100",
          "command": "npx http-server ./public -p 3100 -a 0.0.0.0",
          "port": 3100
        }
      ]
    },
    {
      "id": "cordis-analysis",
      "name": "CORDIS Analysis System",
      "type": "vite",
      "icon": "🔬",
      "port": 5173,
      "localUrl": "http://localhost:5173/",
      "remoteUrl": "http://2.139.243.255:5173/",
      "workDir": "c:\\xampp\\htdocs\\acoffline\\abejas\\11_cordisia\\frontend",
      "startCommand": "npm run dev",
      "description": "CORDIS Analysis System",
      "hasBackend": true,
      "backendPort": 5000,
      "backendDir": "c:\\xampp\\htdocs\\acoffline\\abejas\\11_cordisia\\backend",
      "backendCommand": "npm start",
      "tabColor": "#2ECC71"
    },
    {
      "id": "eduzen",
      "name": "EduZen",
      "type": "php-static",
      "icon": "🎓",
      "port": 80,
      "localUrl": "http://localhost/acoffline/abejas/12_tareas/",
      "remoteUrl": "http://2.139.243.255/acoffline/abejas/12_tareas/",
      "workDir": "c:\\xampp\\htdocs\\acoffline\\abejas\\12_tareas",
      "startCommand": null,
      "description": "EduZen Task Manager (Requires XAMPP)"
    },
    {
      "id": "beelifemaps",
      "name": "BeeLifeMaps",
      "type": "node-dual",
      "icon": "🗺️",
      "port": 3997,
      "localUrl": "http://localhost:3997/",
      "remoteUrl": "http://2.139.243.255:3997/",
      "workDir": "c:\\xampp\\htdocs\\acoffline\\abejas\\13_cropsmap\\web",
      "startCommand": "npx http-server -p 3997",
      "description": "BeeLifeMaps / CropsMap",
      "hasBackend": true,
      "backendPort": 3996,
      "backendDir": "c:\\xampp\\htdocs\\acoffline\\abejas\\13_cropsmap\\server",
      "backendCommand": "set PORT=3996 && npm start",
      "tabColor": "#3498DB"
    },
    {
      "id": "varrometer",
      "name": "VARROMETER",
      "type": "node",
      "icon": "🌡️",
      "port": 3000,
      "localUrl": "http://localhost:3000",
      "remoteUrl": "https://varrometer.eu",
      "workDir": "c:\\xampp\\htdocs\\acoffline\\abejas\\14_varroa_v4",
      "startCommand": "npx serve -s . -l 3000",
      "description": "Varroa Mite Testing PWA (serve -s)",
      "tabColor": "#E74C3C"
    },
    {
      "id": "vocab-management",
      "name": "Data & Vocabulary Management",
      "type": "node",
      "icon": "📚",
      "port": 3070,
      "localUrl": "http://localhost:3070/",
      "remoteUrl": "http://2.139.243.255:3070/",
      "workDir": "c:\\xampp\\htdocs\\acoffline\\abejas\\15_sops",
      "startCommand": "npm start",
      "description": "SOP & Vocabulary Management",
      "tabColor": "#1ABC9C"
    },
    {
      "id": "babeel",
      "name": "Babeel Live Translate",
      "type": "node",
      "icon": "🗣️",
      "port": 3998,
      "localUrl": "http://localhost:3998/",
      "remoteUrl": "https://varrometer.eu:3998/",
      "workDir": "c:\\xampp\\htdocs\\acoffline\\abejas\\16_babeel",
      "startCommand": "node server.js",
      "description": "Real-time Translation for Meetings",
      "tabColor": "#F39C12"
    }
  ]
}
