Skip to content

kiwiirc/kiwiirc-mobile

Repository files navigation

Kiwi IRC - mobile IRC client

An open source IRC client for iOS and Android built using NativeScript-Vue.

  • Always connected with with kiwiBnc
  • Full message history
  • Themeable
  • Customiseable through the plugin system
login State Browser Chat Channel Search Add network
Login State Browser Chat Channel Search Add network

Getting started

Prerequisites

To check the NativeScript environment, run the NativeScript CLI command:

ns doctor

Building

  1. Clone this repository
git clone https://github.com/kiwiirc/kiwiirc-mobile/
cd kiwiirc-mobile
  1. Run setup (inits git submodules)
yarn setup
  1. Run the app
cd kiwiirc-app
ns run android|ios

If all goes well, NativeScript will build and open the app on a connected device or simulator.

More info on running and debugging the app here.

See here how to build the app for release and how to publish to Google Play (Android) and App Store (iOS).

Repository structure

  • kiwiirc/ - Shared source with the core KiwiIRC project (see here how to update this)
  • kiwiirc-app/ - The default App Project for Kiwi IRC
  • src/ - The main mobile application source

App Projects

An App Project is a NativeScript project that contains all your custom mobile app assets and meta data. This includes important things such as your mobile application ID, name, icons and logos amongst other iOS and Android specific details. The default Kiwi IRC App Project is under kiwiirc-app/.

Custom Kiwi IRC code to extend the application belong in plugins.

App Project structure:

  • App_Resources/ (More about this here). This includes:
    • Image resources (see here)
    • Android AndroidManifest.xml for gradle configurations, etc
    • iOS Info.plist for build configurations and other metadata files
  • package.json For your application ID and extra Kiwi plugins to extend the app
  • .env.default (optional) containing fastlane deployment configuration (more on this)

Customising the App Project

Create a new App Project by copying kiwiirc-app to a new folder. You must then always change the following:

  • App_Resources/
    • icons and splash screen images;
    • iOS/Info.plist (CFBundleDisplayName)
    • Android/src/main/res/values[-21]?/strings.xml (app name);
    • Android/src/main/res/values[-21]?/colors.xml;
  • package.json (nativescript.id, name);
  • app/app.scss (theme, other style overrides);
  • app/assets/config.json (Irc connection, plugins, etc.). By default, the app will use the bouncer betabnc.irc.com. You can costumise the BNC server in the startupOptions parameter.

The main entry point for the application is app/main.js. While you may modify this, it is advised to use plugins instead to customise your Kiwi IRC App Project.

Plugins

Plugins let you customise the Kiwi IRC mobile app without modifying the core project source.

You will find the plugin documentation here.