I found a good solution for this problem. Rather than doing all the configurations (Setting firewall, forwarding port etc) I used localtunnel which is an utility for exposing local node server over Internet. You can use it for development,testing,sharing purpose, just don't use it for production.
First you have to install localtunnel as follows:
$npm install -g localtunnel
After that configure your node app such that your node server should be running on localhost.For ex:
server.listen(3000, function () {console.log('Listening to port: '+ port);});
Note down your_port which in my case was 3000, and start your node server.
Open another terminal and type following command for running localtunnel.
$lt --port 3000
After this , in terminal you will get an URL which you can use it for development/testing purpose. This URL will be available on Internet so you can share it with others too. As long as your localtunnel is running, others can access your local node server.
For more configuration options/help you can go through documentation:https://www.npmjs.com/package/localtunnel