/stream-chat-angular

💬 Angular Chat SDK ➜ Stream Chat. Build a chat app with ease.

Primary LanguageTypeScript

Official Angular SDK for Stream Chat

The official Angular components for Stream Chat, a service for building chat applications.

tests and release workflow

Quick Links

With our component library, you can build a variety of chat use cases, including:

  • In-game chat like Overwatch or Fortnite
  • Team-style chat like Slack
  • Messaging-style chat like WhatsApp or Facebook's Messenger
  • Customer support chat like Drift or Intercom

Angular Chat Tutorial

The best way to get started is to follow the Angular Chat Tutorial. It shows you how to use this SDK to build a fully functional chat application and includes common customizations.

Free for Makers

Stream is free for most side and hobby projects. To qualify, your project/company must have no more than 5 team members and earn less than $10k in monthly revenue. For complete pricing and details visit our Chat Pricing Page.

Docs

The docs provide a brief description about the components and services in the library.

The Angular library is created using the stream-chat-js library. For the most common use cases our services should give a nice abstraction over this library, however you might need it for more advanced customization, the documentation is on our website.

Contributing

We welcome code changes that improve this library or fix a problem. Please make sure to follow all best practices and add tests, if applicable, before submitting a pull request on GitHub. We are pleased to merge your code into the official repository if it meets a need. Make sure to sign our Contributor License Agreement (CLA) first. See our license file for more details.

We are hiring.

We recently closed a $38 million Series B funding round and are actively growing. Our APIs are used by more than a billion end-users, and by working at Stream, you have the chance to make a huge impact on a team of very strong engineers.

Check out our current openings and apply via Stream's website.

Installation

Install with NPM

Run the following command if you are using Angular 17

npm install stream-chat-angular stream-chat @ngx-translate/core

Run the following command if you are using Angular 16:

npm install stream-chat-angular stream-chat @ngx-translate/core

Run the following command if you are using Angular 15:

npm install stream-chat-angular stream-chat @ngx-translate/core@14 ngx-popperjs@15

Run the following command if you are using Angular 14:

npm install stream-chat-angular stream-chat @ngx-translate/core@14 ngx-popperjs@14

Run the following command if you are using Angular 13:

npm install stream-chat-angular stream-chat @ngx-translate/core@14 angular-mentions@1.4.0 ngx-popperjs@13 --legacy-peer-deps

Run this command if you are using Angular 12:

npm install stream-chat-angular stream-chat @ngx-translate/core@14 angular-mentions@1.4.0 ngx-popperjs@12 --legacy-peer-deps

Sample App

This repository includes a sample app to test our library.

To test the app:

Create a file named .env in the root directory with the following content:

STREAM_API_KEY=<Your API key>
STREAM_USER_ID=<Your user ID>
STREAM_USER_TOKEN=<Your user token>

The easiest way to generate a token for testing purposes is to use our token generator.

Run npm install to install dependencies.

Run npm start and navigate to http://localhost:4200/.

Preferred Node version: v16.

Customization examples

This repository includes a sample app that showcases how you can provide your own template for different components within the SDK:

To run the app:

Create a file named .env in the root directory with the following content:

STREAM_API_KEY=<Your API key>
STREAM_USER_ID=<Your user ID>
STREAM_USER_TOKEN=<Your user token>

Run npm install to install dependencies.

Run npm run start:customizations-example and navigate to http://localhost:4200/.

Preferred Node version: v16.

Local development

This repository includes a sample app to test our library.

To test the app:

Create a file named .env in the root directory with the following content:

STREAM_API_KEY=<Your API key>
STREAM_USER_ID=<Your user ID>
STREAM_USER_TOKEN=<Your user token>

Run npm install in the root of the project. You can use the npm run start:dev command to start the SampleApp with automatic reloading.

A note about the documentation:

  • Documentations for Angular services are generated from doc comments in the source files (not under source control)
  • Documentations for inputs and outputs of Angular components are generated from doc comments in the source files (not under source control)
  • Everything else in the documentation is written in mdx files located in the docusaurus folder

Preferred Node version: v16.