/grouparoo

๐Ÿฆ˜ The Grouparoo Monorepo - Open Source Marketing Infrastructure

Primary LanguageJavaScriptOtherNOASSERTION

Grouparoo

Sync, Segment, and Send your Product Data Everywhere

Focus on building your core product, not integrating with 3rd-party tools. Learn more at www.grouparoo.com

Grouparoo Data Bowtie

This is the Grouparoo Monorepo, containing the source code for @grouparoo/core and many plugins. If you are looking for an example about how to run or deploy Grouparoo, please visit https://github.com/grouparoo/app-example

Documentation and Guides

  • ๐Ÿฆ˜ Ready to Try Grouparoo?
    • Grouparoo is Open Source, and easy to run on your laptop or in the cloud.
    • โ†’ View the Deployment Docs.
  • ๐Ÿ“š Want to learn more about how to configure and use Grouparoo?
    • Grouparoo is can be configured without needing to write any code. Learn how to connect to your Sources and Destinations to begin syncing your data.
    • โ†’ View the User Guides.
  • โš™๏ธ Want to learn more about how Grouparoo works?
    • Grouparoo is Open Source, and we welcome community contributions. You can add your own plugins to connect to new Sources and Destinations.
    • โ†’ View the Development Guide.
  • ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง Want to collaborate with the Community to enhance Grouparoo?
    • Join other Grouparoo Community members to share best practices and tackle problems.
    • โ†’ View the Community Guidelines.

Running a Grouparoo Application

This is an abbreviated version of the "Grouparoo Deployment Guide". The full version can be found here.

Deploy to Heroku

The simplest way to see Grouparoo in action is to deploy it to Heroku for free:

Deploy to Heroku

Run locally with Docker & Docker Compose

Assuming you have Docker installed:

# in a new directory
curl -L https://www.grouparoo.com/docker-compose --output docker-compose.yml
docker-compose up

Run Locally with Node.js

Use the Grouparoo Generator to bootstrap a new Grouparoo Project:

npx grouparoo generate
# configure postgres and redis, you can modify `.env` as needed
npm start

This will generate a package.json and .env file for configuration.

Populating Demo Data

Use the staging-public app to try things out.

cd apps/staging-public
# populate the system with 1000 profiles, profile properties, 1000 purchases, groups, and some events
npm run actionhero -- grouparoo demo dataPurchases

# including the --scale param allows you to control how many profiles you make. e.g. --scale 10 makes 10,000 extra profiles.
npm run actionhero -- grouparoo demo dataPurchases --scale 10

# populate the system with events
npm run actionhero -- grouparoo demo eventStream

๐Ÿฆ˜