Giter Club home page Giter Club logo

posthog-squeak's Introduction

image

Build a community around your product with Squeak! by PostHog.

Squeak! is a toolkit for fostering a community in-house. It helps make discussions, resources, and solutions more accessible to the right people.

Learn more at squeak.posthog.com and star us to follow along.

Want to try it without installing? There's a cloud version of Squeak! too.

Toolkit

Squeak! tools are built for React-based static sites, but many products work with existing docs, knowledge bases, or websites.

Product Description Progress
Q&A.js Add threaded discussions to any page of your docs or website Beta
Discussion Warehouse A repository to manage shared knowledge threads from Slack, Q&A.js, and other sources Beta
Import Slack Threads Liberate product-related discussions from Slack and make them discoverable by search engines Alpha
Auth 2.0 OAuth, social logins Summer 2022
Dynamic Open Graph Images A custom social media graphic for every webpage across your docs or website Summer 2022
Community Profiles Bios, badges, activity feed, leaderboards, lists/directories Summer 2022
Knowledge Repository Lightweight, optimized content platform for docs, articles, guides, blogs Summer 2022
Knowledge Search Searchable interface for Discussions, Knowledge Fall 2022
Page Builder MDX + Storybook mashup w/ collections, lists, menus Fall 2022
Dynamic Pages Personalized content for each visitor by IP, UTM codes, or CRM Winter 2022
Marketplace Allow community to make money from services for the platform Spring 2023

Docs

Visit the wiki for guides on:

  1. Embeddable widget (JavaScript, React)
  2. Admin portal
  3. Integrations
  4. Self-hosting
  5. API
  6. Local development

Links

About

Squeak! was created by PostHog out of a need to better support our own customers and move conversations out of our Slack community. Squeak! is open source under MIT.

Prisma

We use Prisma as our ORM. Prisma works by interpreting a schema file defined in prisma/schema.prisma and using a generated client. Prisma generates a strongly-typed client based on the schema file. The client is generated at runtime and not checked into version control. See the prisma docs about this. This means that the prisma client needs to be generated as part of any deployment process. As noted in the prisma docs, the prisma generate command is run as a postinstall hook when the prisma library is installed.

On deployment, the database needs to be migrated by running: npx prisma migrate deploy. See below for useful docs on production migrations:

Sentry

We use Sentry to capture errors, and we need to upload source maps to sentry and create a release in sentry. Currently this happens while building the docker image. Sentry automatically hooks into the yarn build process and uploads source maps and creates a release. This requires having a SENTRY_AUTH_TOKEN environment variable set to be picked up by the sentry-cli.

We handle this currently during docker builds via Github Actions. We pass in the SENTRY_AUTH_TOKEN as an build-arg to Docker from a github secret. See .github/docker-release.yml for that configuration.

Superjson

This project uses superjson to automatically handle serialization issues, primarily with BigInt, which we use for certain IDs.

posthog-squeak's People

Contributors

joesaunderson avatar smallbrownbike avatar ajsharp avatar pjhul avatar corywatilo avatar growthfyi avatar hazzadous avatar jamesefhawkins avatar pauldambra avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.