Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adambien/gatelink
WebPush Gateway
https://github.com/adambien/gatelink
microprofile notifications push quarkus server webcomponents webpush
Last synced: about 1 month ago
JSON representation
WebPush Gateway
- Host: GitHub
- URL: https://github.com/adambien/gatelink
- Owner: AdamBien
- License: mit
- Created: 2019-04-18T16:07:41.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-01-30T13:55:04.000Z (12 months ago)
- Last Synced: 2024-01-31T12:34:06.441Z (11 months ago)
- Topics: microprofile, notifications, push, quarkus, server, webcomponents, webpush
- Language: Java
- Size: 363 KB
- Stars: 8
- Watchers: 4
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gatelink
WebPush Gateway (powered by [quarkus](https://quarkus.io))
The gatelink service implements:
- [Voluntary Application Server Identification for Web Push (VAPID / RFC8030)](https://www.rfc-editor.org/rfc/rfc8292.html)
- [Message Encryption for Web Push](https://tools.ietf.org/html/rfc8291)[Push Notification Overview](https://developers.google.com/web/fundamentals/push-notifications/web-push-protocol#more_headers)
# quickstart
## gatelink server build & start:
```
cd gatelink
mvn package
java -jar target/gatelink-[VERSION]-runner.jar
```alternative / development mode:
```
cd gatelink
mvn compile quarkus:dev
```## gatelink docker build
```
mvn package
docker build -f src/main/docker/Dockerfile.jvm -t quarkus/gatelink-jvm .
docker run -i --rm -p 8080:8080 quarkus/gatelink-jvm
```## test ui start
Install [browsersync](https://www.browsersync.io)
```
cd webpush-ui
./startBrowserSync.sh
```## [webpush-ui](https://github.com/AdamBien/webpush/tree/master/webpush-ui) sample application
The user interface uses
1. [Notification API](https://developer.mozilla.org/en-US/docs/Web/API/notification) to display the badges
2. [Push API](https://developer.mozilla.org/en-US/docs/Web/API/Push_API) to receive the messages and send a subscription to the server.
3. [Service Workers API](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) to listen for changes in the background
4. [Custom Elements](https://developer.mozilla.org/en-US/docs/Web/API/Window/customElements) for structuring the application
5. [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) to send the subscription to the server or to unsubscribe.