fabolivark / perfecty-push-wp

WordPress plugin for self-hosted Web Push Notifications ⚡️

Home Page:https://wordpress.org/plugins/perfecty-push-notifications/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Perfecty Push WP Plugin ⚡️

tests deployment License PHP compatibility WP compatibility

Self-hosted Push Notifications from your Wordpress server for free! 🥳

Perfecty Push for Wordpress

Perfecty Push WP is an Open Source plugin for WordPress that allows you to send web Push Notifications directly from your server: No hidden fees, no third-party dependencies and you own your data. 👏

Install it now: https://wordpress.org/plugins/perfecty-push-notifications/

Features ✨

  • Open Source, send Push Notifications from your server for free!
  • No third-party dependencies
  • Migrate users from other push services like OneSignal
  • Send push notifications on posts publishing
  • Customize the public widget
  • The user authorization tokens stay in your server
  • Offline browser notifications through Push API (Safari is not supported yet)
  • Built-in Push Server based on web-push-php

Requirements 🧩

  • PHP >= 7.2
  • gmp extension for message encryption (optional)

Note: The gmp extension is optional and recommended for better performance.

Local development 👨🏻‍💻

To see it in action in your local development environment, you need a set of services which Wordpress relies on. You start off by creating the docker image:

docker build -t custom-wordpress:5.6.0-php7.2-apache .

Then start all the services and run the setup:

make up
make setup

You can now go to http://localhost/wp-login.php > Plugins > Activate the Perfecty Push plugin.

Available commands 👾

# start the service containers
make up

# stop de service containers
make down

# remote console
make console

# run the unit tests
make test

# run the formatter
make format

# setup all: make wordpress, make composer, make phpunit
make setup

# setup wordpress and plugins
make wordpress

# install all the composer dependencies
make deps

# setup wordpress as a testing environment for phpunit
make phpunit

# generates the redistributable bundle in dist/perfecty-push-notifications.zip
make bundle

Demo 🎭

Admin Dashboard

Dashboard

Public view

Screenshot preview

Testing ✅

This project relies on automated tests as in the Wordpress Core guidelines.

Run all the test suites:

make test

Run a single test:

make console
cd wp-contents/plugins/perfecty-push/
phpunit --filter test_schedule_broadcast_async

Troubleshooting

Not intended for production: In case the plugins cannot be installed on your local installation do:

make console
chown -R www-data wp-content

License 👓

The WordPress Plugin is an Open Source project licensed under GPL v2.

The bell icon is a Font Awesome icon, a CC BY 4.0 License.

Banner photo by NASA on Unsplash

Collaborators 🔥

rwngallego
Rowinson Gallego

Special Thanks

Jetbrains

Thanks to Jetbrains for supporting this Open Source project with their magnificent tools.

About

WordPress plugin for self-hosted Web Push Notifications ⚡️

https://wordpress.org/plugins/perfecty-push-notifications/

License:GNU General Public License v2.0


Languages

Language:PHP 85.6%Language:JavaScript 7.6%Language:Shell 4.6%Language:CSS 1.1%Language:Makefile 0.6%Language:Dockerfile 0.5%