title: How to work with "web-push" and "fcm-push" node packages simultaneously?
body: <p>I've been trying to set up a web push notification server/client architecture using Firebase Cloud Messaging and some node packages. After going through multiple tutorials, I'm really confused.</p>
  
  <p>I tried the "web-push" node package but it requires gcm-key and as Google announced, GCM is shifting to FCM now. So, I looked upon another package called "fcm-push" but it doesn't support VAPID. I'm not even sure about why is VAPID needed separately. So, I'll just put up some direct questions here-</p>
  
  <ul>
  <li>Why are there two separate keys, i.e., for GCM/FCM and VAPID?</li>
  <li>Once I get the subscription keys from the client to the server, do I need to store those in a database? Is there any other method that can be used to save them?</li>
  <li>It looks like "fcm-push" package doesn't support VAPID keys and it's <a href="https://www.npmjs.com/package/fcm-push" rel="nofollow noreferrer">documentation</a> only mentions it for iOS and Android.</li>
  <li>On the other hand, "web-push" package doesn't support FCM.</li>
  </ul>
  
  <p>So, should I use both the packages simultaneously? And if yes, then on what package should I rely to do which function?</p>