Kahla is a cross-platform business messaging app.

Build status GitHub Release Maintainability npm Issues GitHub contributors LICENSE


Try it here: web.kahla.app

Get it on Google Play English badge

Kahla currently targets Windows, Linux, macOS, Android, and iOS.

Kahla is built with Angular 8 and typescript. And Kahla Server is built with .NET Core.

For more document about Kahla project and Kahla API, please view document here.

For our official website, please view here.

How to develope

Before starting

To develope Kahla, you need to install the following components:

  • Git
  • Nodejs and npm

We strongly suggest using Visual Studio Code to develope this project.

Using Visual Studio Code to open the directory directly.

How to run

How to run in browser

Excute following command in the root directory of this repository to restore all dependencies.

npm install

Excute following command to run and start a debugging server at localhost:8001.

npm start

How to run as desktop app

Currently, we are using Electron to target Windows, Mac and Linux platform.

Supports Windows 7+, Linux and macOS 10.9+.

npm run electron

How to publish

How to publish to a web server

ng build --prod

How to publish for electron production version

Please view here for Electron distribution document.

Please view here for Electron builder document.



And you will publish the distributable version of Kahla desktop.


For more info please view Kahla Wiki

How to contribute

There are many ways to contribute to the project: logging bugs, submitting pull requests, reporting issues, and creating suggestions.

Even if you have push rights on the repository, you should create a personal fork and create feature branches there when you need them. This keeps the main repository clean, and your personal workflow cruft out of sight.

We're also interested in your feedback for the future of this project. You can submit a suggestion or feature request through the issue tracker. To make this process more effective, we're asking that these include more information to help define them more clearly.