npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

pushgeek-web-push-services

v1.0.1

Published

PushGeek is a Push Notification Engine, Application is Written in Node.js and have Restful API features.

Downloads

23

Readme

[GitHub license] FOSSA Status

PushGeek Rollout Server

Rollout server is simple drip marketing automation tool which help to enggage more and more users with the website, which have features like

🚀 Technologies

  • ⚡ Express — A web framework for Node.js
  • 🐮Bull — Premium Queue package for handling distributed jobs
  • 🚒 Handlebars - Html Engine
  • 📧 Web-push, nodemailer
  • 🏪 MongoDB, Redis
  • 🔀 Nginx
  • 🚚 Docker

⚡️ Feature List

  • Push Message Broadcasting
  • DDoS Protection
  • Schedule Jobs Worker
  • Fast caches managed
  • OAuth
  • Login With multiple social platform
  • Cart Service
  • Product Display
  • International Localization Features
  • Text Analysiss
  • nudity detection
  • more coming soon

🔥 Instrustions 🧑🏼‍💻 Commands

Installing Nodejs , NPM and NVM

 sudo curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
~/.nvm/nvm.sh
 nvm install node

Cross Check Installed Versions

node -v
npm -v
nvm --version

Clone Source Code

git clone https://github.com/saurabharch/rollout
npm install

##OR

yarn install
./node_modules/.bin/web-push generate-vapid-keys
  • Generating Vapid Public and Private Key copy it and Update in config folder files key_dev.js , key_prod.js and also paste your Vapid Public Key in your Service Worker File app.js
node server.js

Running Imutable stack with PM2

npm install -g pm2

Run as root user in Linux

  • in watch mode or simple
sudo pm2 start --name server-name index.js -- --name server-name --port 5500 --watch
  • standalone running at by default port 5500 on a single intance
sudo pm2 start --name server-name index.js
  • save as running always after on every boot performe on system
sudo pm2 startup
  • save all the setting with pm2
sudo pm2 save
  • Running Rollout Server using PM2 with babel as interpreter setting is Here

Setting Up with Nginx Proxy as a load balancer

✋🏻 PREQUESTS

sudo apt-get install nginx
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt install python-certbot-nginx

Generate SSL Certificate using certbot command

sudo certbot --nginx -d pushgeek.com -d www.pushgeek.com

Alternate Command

sudo certbot certonly --standalone -d pushgeek.com www.pushgeek.com

Auto Renewal Certficate with certbot

sudo certbot --dry-run

More Help Visit Here

ALLOW PORTS FOR NGINX AND SETUP FIREWALL

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 'Nginx Full'
sudo ufw delete allow 'Nginx HTTP'
sudo ufw enable
sudo ufw allow http
sudo ufw allow https
sudo ufw status
  • (should say active)
sudo ufw status

sudo ufw allow 443/tcp (should required)

systemctl status nginx
  • (above config applied)
sudo vim /etc/nginx/sites-available/rollout
sudo ln -s sites-available/rollout sites-enable/rollout
sudo nginx -t
sudo service nginx restart
sudo /etc/init.d/nginx reload
sudo journalctl -xe

Check nginx service worker status

sudo systemctl status nginx

installing fail2ban protecting DDoS

sudo apt-get install fail2ban

refere config

File Structure

|
|
|________________________./congif
|                         |
|                         |____keys_prod.js
|                         |
|                         |____keys_dev.js
|                         |
|                         |____keys.js
|
|
|________________________./public
|                         |
|                         |____index.html
|                         |
|                         |____sw.js
|                         |
|                         |____app.js
|
|
|________________________./model
|                         |
|                         |____subscribers_model.js
|
|
|
|________________________./router
|                         |
|                         |____push.js
|                         |
|                         |____subscribe.js
|                         |____keygen.js
|
|___________________________server.js

Notes (Opinionated)

DO NOT do this for a real project of this size, this is to learn. A Microservice architecture is for BIG projects with a lot of people.

People will tell you that you can do it at small scale and it is true but you can also remove ants with a nuclear bomb.

Docker containers can be used without using Microservices, they are not the same thing!

This is the most common way I see people build container based projects but my personal favourite is using a queue for all container to container communication.

Rule of thumb thoughts (Opinionated)

Docker containers = good for almost all project sizes Microservices = good for big companies with a lot of code and people Sweetspot = Monolith app and databases in containers

👨🏼‍💻 Author

Saurabh Kashyap

📝 License

FOSSA Status

👋 Official site Pushgeek is made with ❤️ by © RainDigi IT Pvt. Ltd.