When the backend is started a default user is created with the credentials specified in the database-configuration.json
file
Start with creating an app identifier in the Expo Push Notification Server UI. An app identifier is needed for subscriber to register and for the user to specify for which subscriber the push notifications should be sent out.
A client (using the Expo SDK) can register as subscriber.
To register a subscriber send a request to the subcriber/create
endpoint with the following payload:
{
token: "expo-push-notification-token",
appIdentifierId: "your-app-identifier"
}
The expo push notification token received via:
Notifications.getExpoPushTokenAsync({ experienceId: experienceId })).data;
The app identifier created via the Expo Push Notification Server UI
See Expo App Notification Example for a full example. After successful registration of a subscriber you should see the subscriber in the list on the Expo Push Notification Server UI.
Push notifications can be sent to selected or all subscribers. Therefore, you need to log in to the Expo Push Notification Server UI.
NodeJS Typescript server based on expressJS
- Existing RethinkDB
npm install
npm run start
Angular Frontend
npm install
ng serve
You can use the DockerFile to create a Docker image for the Expo Push Notification Server which includes both the server and the UI.
- Run
npm run build
in theclient
directory. This command will build the frontend and copy the generated build into thepublic
folder. - Run
npm run docker-build
from the root directory to build the docker image - Run
npm run docker-run-server
from the root directory to start the container
See TODO.md for more information
Feel free to contribute, either via opening an Issue on GitHub or actively join the development. This project is by far not finished and there are a lot of things to do.
Please follow the conventional commits specification
See LICENSE.md for more information
App Icon from Smashicons