No description
Find a file
2016-11-25 12:39:13 -08:00
android Add app icons for android (#74) 2016-11-22 12:14:38 -05:00
config Added react-intl for internationalization (#31) 2016-10-19 10:56:24 -07:00
ios Update xcode project and Readme (#79) 2016-11-22 14:03:28 -05:00
src Fixed unit tests for the other changes I've made recently (#80) 2016-11-22 11:46:50 -05:00
test Fixed unit tests for the other changes I've made recently (#80) 2016-11-22 11:46:50 -05:00
.babelrc Use babelrc (#10) 2016-10-14 15:00:09 -07:00
.buckconfig Initial commit 2016-10-04 14:10:44 -04:00
.editorconfig Changed .editorconfig to include a trailing newline on files (#21) 2016-10-17 13:56:28 -04:00
.eslintrc.json Started adding separate client tests from redux tests 2016-10-11 11:21:15 -04:00
.flowconfig Updated react-native projects 2016-10-07 11:49:31 -04:00
.gitignore Gitignore .npminstall (#28) 2016-10-18 15:44:52 -07:00
.npmrc Add functionality for fetching + selecting teams & channels (#17) 2016-10-17 15:47:47 -04:00
.watchmanconfig Initial commit 2016-10-04 14:10:44 -04:00
CONTRIBUTING.md Proposed changes to contributor guidelines (#44) 2016-10-19 13:33:44 -07:00
index.android.js Update index.android.js to match index.ios.js (#9) 2016-10-13 16:14:22 -04:00
index.ios.js Updated packages, switched to mocha for testing 2016-10-07 11:11:14 -04:00
LICENSE.txt Adding Apache 2.0 license 2016-10-11 09:14:00 -07:00
Makefile Re-add remote redux debugger to npm run postinstall 2016-11-09 10:12:27 -05:00
package.json Fixed unit tests for the other changes I've made recently (#80) 2016-11-22 11:46:50 -05:00
README.md Typo, unreleased should not be hyphenated 2016-11-25 12:39:13 -08:00
rn-cli.config.js Added script to make React Native support absolute imports 2016-10-07 11:46:40 -04:00

Mattermost Mobile (unreleased)

This is an unreleased project for replacing the Mattermost iOS and Android apps with new mobile apps using React Native and Redux. The project is not yet stable, and the instructions are for internal use currently (i.e. probably out-of-date until we stablize).

We'll post updates to our Forums and Twitter when we're ready to bring in more community contributors.

Our early roadmap was discussed on the Mattermost forums in October 2016 and we'll have more updates as the project evolves. Priorities are shifting so please only use the dates in the post as a highly approximate guide.

Mattermost is an open source Slack-alternative used by thousands of companies around the world in 11 languages. Learn more at https://mattermost.com.

Installing Dependencies

Follow the React Native Getting Started Guide for detailed instructions on setting up your local machine for development.

Detailed configuration:

Mac

  • General requirements

    • XCode 8.1
    • Install watchman $ brew install watchman
  • Clone repository and configure:

    $ git clone git@github.com:mattermost/mattermost-mobile.git
    $ cd mattermost-mobile
    $ npm install
    $ npm install -g react-native-cli
    
  • Run application

    $ make run
    

Linux:

  • General requiriments:

    • JDK 7 or greater
    • Android SDK
    • Virtualbox
    • An Android emulator: Genymotion or Android emulator. If using genymotion ensure that it uses existing adb tools (Settings: "Use custom Android SDK Tools")
    • Install watchman (do this globally):
      $ git clone https://github.com/facebook/watchman.git
      $ cd watchman
      $ git checkout master
      $ ./autogen.sh
      $ ./configure make
      $ sudo make install
      
      Configure your kernel to accept a lot of file watches, using a command like:
      $ sudo sysctl -w fs.inotify.max_user_watches=1048576
      
  • Clone repository and configure:

    $ git clone git@github.com:mattermost/mattermost-mobile.git
    $ cd mattermost-mobile
    $ npm install
    $ npm install -g react-native-cli
    
    • Add or edit file src/config/config.secret.json and add the url to the Mattermost server that you will use to develop: { "DefaultServerUrl": "https://pre-release.mattermost.com" }

      To use a local Mattermost server you will need to configure the "DefaultServerUrl" depending on the emulator you will use:

  • Run application

    • Start emulator
    • Start react packager: $ react-native start
    • Run in emulator: $ react-native run-android