cancel
Showing results for 
Search instead for 
Did you mean: 
SOLVED

Snap application in nodejs (express server) not working its api

Snap application in nodejs (express server) not working its api

jawad
Long-established Member

I have snap application written in nodejs (express is installed)

Here is code

 const express = require('express');
    const app = express();
    const port = 3000;
    const os = require('os');

    app.get('/', (req, res) => {
        console.log('EXd generic in')
        res.send('Hello, Express! Exd');
    });
 
    app.get('/items', (req, res) => {
        const items = ['Item 1', 'Item 2', 'Item 3'];
        res.json(items);
    });
 
now i have its snap and installed on virtualcontrol ctrlx core. app is installed successfully, but now showing in sidebar, 
Secondly how i can access these above routes / and /items,
what is the ip of for it
jawad_0-1698906652030.png jawad_1-1698906689594.png

 

 

2 REPLIES 2

Sgilk
Contributor

Hello,

I would recommend reading through the SDK documentation to gain a better understanding of how snaps are built and integrated into the ctrlX OS. Applications do not automatically provide a sidebar menu. Your app must connect to the package-assets content interface and provide a package manifest app description including your sidebar menu information.

Package Assets  

In terms of why your app isn't working correctly... it's hard to say just looking at the code. The code looks fine. I would think you could access the routes at 192.168.202.18/ assuming there are is no port forwarding.

I'd recommend the following steps:

  1. You should try to run this application outside of the snap context to debug any code issues
  2. Install the snap in your build environment to debug locally in snap context
  3. Install the snap in your ctrlX Virtual CORE and debug via ssh logs

jawad
Long-established Member

Thanks @Sglik
I achevied by ip address of virtualcore, port and route that defined in code.

jawad_0-1700052703138.png

 

Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist