No description
Find a file
Harrison Healey 155a923cd0 Added preferences to redux store (#124)
* Disabled broken ESLint rule

* Added preferences to redux store

* Re-enabled all unit tests

* Fixed code referencing users.myPreferences

* Stopped exporting dispatcher from actions/helpers
2016-12-12 20:42:26 -03:00
android Add app icons for android (#74) 2016-11-22 12:14:38 -05:00
app project folder structure (#107) 2016-12-09 10:34:17 -05:00
config project folder structure (#107) 2016-12-09 10:34:17 -05:00
ios Update xcode project and Readme (#79) 2016-11-22 14:03:28 -05:00
service Added preferences to redux store (#124) 2016-12-12 20:42:26 -03:00
test Added preferences to redux store (#124) 2016-12-12 20:42:26 -03:00
.babelrc project folder structure (#107) 2016-12-09 10:34:17 -05: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 Added preferences to redux store (#124) 2016-12-12 20:42:26 -03: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 project folder structure (#107) 2016-12-09 10:34:17 -05:00
index.ios.js project folder structure (#107) 2016-12-09 10:34:17 -05: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 Removed react-native-router-flux and added custom navigation logic (#102) 2016-12-08 12:37:38 -03:00
README.md Typo, unreleased should not be hyphenated 2016-11-25 12:39:13 -08:00
rn-cli.config.js project folder structure (#107) 2016-12-09 10:34:17 -05: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