Welcome to Kahla. Kahla is a cross-platform business messaging app. Kahla also achieved one target to use one copy of code and target all platforms.
Try it here: web.kahla.app
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.
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.
Excute following command in the root directory of this repository to restore all dependencies.
npm install
Excute following command to run and start a debug server at localhost:8001
.
npm start
Currently we are using Electron to target Windows, Mac and Linux platform.
Supports Windows 7+, Linux and macOS 10.9+.
npm run electron
Currently we are using Apache Cordova to target Android and iOS platform.
Before running, please prepare your Android development environment and an Android device.
Run the following commands to run on an Android device.
npx cordova platform add android
npx cordova run android
ng build --prod
If you want to create Chinese version, please use the following command instead.
ng build --prod --local zh --i18n-file ./src/message.zh.xlf
Please view here for Electron distribution document.
Please view here for Electron builder document.
Run:
./publish.sh
And you will publish the distributable version of Kahla desktop.
Run:
cordova build android --release -- --keystore=./android.jks --storePassword={KEY} --alias=key0 --password={PASSWORD}
Please view here for Cordova distribution document.
For more info please view Kahla Wiki
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.