# Third Party Services

# Google Analytics

The Google Analytics tracking code is at django_app/templates/core/components/google_analytics.html

You need to add GOOGLE_ANALYTICS_ID to the env variables to make it work.

Since we are using Turbo, so the tracking code should be placed in the event handler of turbo:load

document.addEventListener("turbo:load", function (event) {

})

# Google reCAPTCHA

To use Google reCAPTCHA, set below env variables

RECAPTCHA_PUBLIC_KEY
RECAPTCHA_PRIVATE_KEY

# Sentry

To use Sentry to help you monitor the project, please set SENTRY_DSN to make it work.

To know how Sentry report errors in the frontend, please check frontend/src/components/sentry.js

# MailGun

To make MailGun work on the production site, you need to set below env variables

USE_MAILHOG=0

DJANGO_DEFAULT_FROM_EMAIL=change-me
DJANGO_EMAIL_SUBJECT_PREFIX=change-me

MAILGUN_DOMAIN=change-me
MAILGUN_SENDER_DOMAIN=change-me
MAILGUN_API_KEY=change-me

# MailChimp

When user signup, we can add the user to MailChimp subscribe list, you can add below envs to make it work

MAILCHIMP_API_KEY=change-me
MAILCHIMP_LIST_ID=change-me

# Cloudflare

You can use some CDN services such as Cloudflare to speed up your site.

When you use Cloudflare with docker compose deployment solution, below are the things you might need to know:

  1. Celery Flower is working on 2053 because this is the HTTPS port supported by Cloudflare https://developers.cloudflare.com/fundamentals/get-started/reference/network-ports/ (opens new window)
  2. Config the SSL Encryption modes to Full
  3. Do not let Cloudflare to help you auto redirects HTTP to HTTPS, this is also called Always Use HTTPS https://developers.cloudflare.com/ssl/edge-certificates/additional-options/always-use-https/ (opens new window). Because this might break the SSL renew in the Traefik.