jipiboily/forwardlytics
jipiboily/forwardlytics has 57 GitHub stars and 7 forks. Star changes are not measured yet. Last checked 2026-11-14 08:31 UTC. Last push 2023-06-27.
Crecimiento de estrellas medido
- in 24h
- Recopilando historial
- in 7 days
- Recopilando historial
- in 15 days
- Recopilando historial
- in 1 month
- Recopilando historial
Cambios netos en períodos que se solapan, no totales diarios. Los datos no disponibles se dejan en blanco. Las estrellas indican interés, no calidad.
Acerca de
[DEPRECATED & UNMAINTAINED] Take events and customer data in and send them to various providers, mostly analytics providers.
DatosREADME.md
Original[DEPRECATED] This project is not maintained anymore nor used by the original author.
Forwards analytics events and identification to various marketing & analytics platforms.
You can send events to Forwardlytics, and it will forward it to the configured services like Intercom or Drip.
Looking for a Forwardlytics client library? There is one for Ruby just here.
Status
Where are we at? Can you use it in production?
[DEPRECATED] This project is not maintained anymore nor used by the original author.
Installation
go get github.com/jipiboily/forwardlyticsset
FORWARDLYTICS_API_KEY=SOMETHING_YOU_DECIDE_AND_NO_ONE_CAN_GUESS
To send to Intercom:
- set
INTERCOM_APP_ID=456
To send to Drip:
- set
DRIP_ACCOUNT_ID=234(when you log in Drip, you see it in the URL here: https://www.getdrip.com/{drip_account_id}/dashboard) - set
DRIP_API_TOKEN=432(found here: https://www.getdrip.com/user/edit under "API-token")
Please note that you need to send an "email" property to be able to get the Drip integration working.
To send to Drift:
- set
DRIFT_ORG_ID=456(ATM only possible to find by contacting the drift support dept)
Mixpanel is probably going to be next.
Deployment
Forwardlytics can be deployed to Heroku. You can setup the port it starts on by setting the PORT environment variable.
Error tracking
Right now Forwardlytics supports tracking error via Bugsnag. Thanks to Logrus, it's pretty easy to add any other bug tracker. PRs welcome.
Retrying calls on failure
Forwardlytics has a built-in retry-mechanism than can be enabled
should calls to a provider fail. To enable this, set the environment
variable NUM_RETRIES_ON_ERROR=X where X is the number of retries
to attempt before giving up. This is implemented as an
exponential backoff algorithm.
Bugsnag config
To enable Bugsnag, set those environment variables:
BUGSNAG_API_KEY=your-api-key-123
ENVIRONMENT=development
If the environment is not set, it'll work but defaults to development.
You need an integration that doesn't exist yet?
You have two options:
- send a PR adding it.
- get in touch to have it added by the author (for a fee).
How to add a new integration
To add a new integration you need to add a package that implements the
Integration interface to a separate
folder in the integrations/ subfolder of this
project, usually named after the integration. The integration should
be toggled by adding an ENV-variable that is picked up by the
Enabled()-function in the intexgration and that is passed to
forwardlytics on startup. To activate the new integration, add the
path to the new integration in the import-statement in
main.go. Remember to add an init() function to the new
package that registers the new integration using
integrations.RegisterIntegration(<integration-name>, integration). For examples, see the different integrations in the
integrations/ subfolder
(eg. the drip-integration). Don't forget
to add tests for all endpoints and for other integration spesific
stuff.
Calling the API
cURL example:
curl --request POST \
--header "Content-Type: application/json" \
--header "Forwardlytics-Api-Key: 123ma" \
-d '{"userID":"123", "userTraits":{"number_of_things":"42"},"timestamp":1459532831}' http://localhost:3000/identify
See ./integration/integration.go for details of what is accepted by the API.
Development
Note that you should install Godep if you are going to add any dependency to this project.
FORWARDLYTICS_API_KEY=somevalue go run main.go
If you want auto reloading, install codegangsta/gin and run:
FORWARDLYTICS_API_KEY=somevalue gin -a 8080 -t .
You need to set environment variables for the integrations you want to work with.
Running tests
go test -v ./...
Why?
Read "Self-hosted Segment equivalent?" on Medium
Thanks!
Thanks to my friend Julian for the logo! :grinning:
Explorar proyectos relacionados
Asabeneh/30-Days-Of-Python
El reto de programación 30 Days of Python es una guía paso a paso para aprender el lenguaje de programación Python en 30 días. Este reto puede llevar más de 100 días. Sigue tu propio ritmo. Estos vídeos también pueden ayudarte: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,725 estrellasgrafana/grafana
Plataforma abierta y componible de observabilidad y visualización de datos. Visualiza métricas, registros y trazas de múltiples fuentes, como Prometheus, Loki, Elasticsearch, InfluxDB, Postgres y muchas más.
77,897 estrellasredis/redis
Para los desarrolladores que crean aplicaciones en tiempo real basadas en datos, Redis es la opción preferida, la más rápida y la de más funciones como caché, servidor de estructuras de datos y motor de consultas de documentos y vectores.
77,491 estrellasapache/superset
Apache Superset es una plataforma de visualización y exploración de datos.
75,522 estrellas