Skip to content

bjerkio/nestjs-posthog

Repository files navigation

Logo

nestjs-posthog

Lightweight library to use Posthog in NestJS applications.

Quick Start Guide · Request Feature · Report Bug


code style: prettier Commitizen friendly Release

Language grade: JavaScript codecov

Posthog for Nestjs makes it easier to implement analytics with Posthog into your Nestjs application.

👾   Usage

▶ yarn add nestjs-posthog
import { Module } from '@nestjs/common';
import { PosthogModule } from 'nestjs-posthog';

@Module({
  imports: [
    PosthogModule.forRoot({
      apiKey: '<ph_project_api_key>',
      options: {
        host: '<ph_instance_address>',
      },
    }),
  ],
})
export class AppModule {}

Example

You can easily inject PosthogService to be used in your services, controllers, etc.

import { Injectable } from '@nestjs/common';
import { PosthogService } from 'nestjs-posthog';

@Injectable()
export class AuthService {
  constructor(private service: PosthogService) {}

  helloWorldMethod() {
    this.service.capture({
      distinctId: 'distinct id',
      event: 'movie played',
      properties: {
        movieId: '123',
        category: 'romcom',
      },
    });
    return 'hello world';
  }
}

Read more about the methods in Posthogs Node.js client documentation.

Contribute & Disclaimer

We love to get help 🙏 Read more about how to get started in CONTRIBUTING 🌳

This is a community-driven Open Source project with no ties with Posthog. It's supported on a volunteer-basis, but frequently used in commerical projects.