Requirements
The backend was built with Node.js, Express, TypeScript, and MongoDB. In addition, Parse SDK is used as API to store and manage app data, send push notifications and run cloud functions.
We recommend the self-hosted installation if you’re familiar with accessing servers via SSH, running scripts, and similar tasks. Also, it’s the cheapest option for running the backend services.
If you don’t feel comfortable with the above, you might want to try the cloud installation.
Also, you need to create accounts on services like Google, Mailgun, Stripe, etc.
Push notifications
Android
Push notifications to Android devices are sent via Firebase Cloud Messaging (FCM):
To authenticate a service account and authorize it to access Firebase services, you must generate a private key file in JSON format.
In the Firebase console, open Settings > Service Accounts. Click Generate New Private Key, then confirm by clicking Generate Key.
Copy the private key (JSON file) in the api/src/push folder
iOS
Delivering push notifications to Apple devices can be done via Apple Push Notification Service (APNS).
APNS requires a private key that can be downloaded from the Apple Developer Center at https://developer.apple.com/account under Certificates > Identifiers & Profiles. The Team ID can also be found there.
See more info here.
Google maps
Create an API key in order to use Google Maps. You can generate this key following this guide.
Mailgun
Mailgun allows us to send emails through a flexible API and without the need to install extra software on our server.
- Go to the Mailgun website and create a new account.
- Add a new domain and verify it. Mailgun recommends use a sub-domain (ex.: mg.yourdomain.com).
- Select your domain and take note of your API Key.
Stripe (optional)
Create an account and grab your Secret and Public keys. Also, add a webhook pointing to the /stripe/webhook
endpoint (ex.: https://cloud.yourdomain.com/stripe/webhook) and check the event payment_intent.succeeded
.
OneSignal (optional)
Sign up and grab your App ID & API Key.
Don’t forget to enable the iOS and Android platforms on the OneSignal Dashboard. We recommend to read the documentation and follow the step-by-step instructions.