Updates format for links to wiki pages in README
[pixelated-user-agent.git] / README.md
1 Pixelated User Agent
2 ====================
3
4 [![CircleCI](https://circleci.com/gh/pixelated/pixelated-user-agent.svg?style=svg)](https://circleci.com/gh/pixelated/pixelated-user-agent)
5 [![Coverage Status](https://coveralls.io/repos/pixelated/pixelated-user-agent/badge.svg?branch=master)](https://coveralls.io/r/pixelated/pixelated-user-agent?branch=master)
6 [![Stories in Doing](https://badge.waffle.io/pixelated/pixelated-user-agent.svg?label=doing&title=Doing)](http://waffle.io/pixelated/pixelated-user-agent)
7
8 The Pixelated User Agent is the email client of the Pixelated ecosystem. It is composed of two parts, a web interface written in JavaScript ([FlightJS](https://flightjs.github.io/) and [React](https://facebook.github.io/react/)) and a Python API that interacts with a [LEAP Provider](https://leap.se/), the email platform that Pixelated is built on.
9
10 Here's a [podcast](https://soundcloud.com/thoughtworks/pixelated-why-secure-communication-is-essential) that explains the project.
11
12 **Pixelated is still in early development state!**
13
14 ![High level architecture User Agent](https://raw.githubusercontent.com/pixelated/website/master/assets/images/pixelated-user-agent.png)
15
16 ## Getting started
17
18 You are most welcome to contribute to the pixelated user agent code base. Please have a look at the [contributions how to](https://github.com/pixelated/pixelated-user-agent/blob/master/CONTRIBUTING.md).
19
20 ## Installing Pixelated as a Service
21
22 To run your own instance of Pixelated, follow these instructions: https://github.com/pixelated/puppet-pixelated#manual-installation
23
24 ## Installing Pixelated for Development
25
26 If you want to run and test it locally, then before you have to install the following dependencies:
27
28 * [Vagrant](https://www.vagrantup.com/downloads.html), a tool that automates the setup of a virtual machine with the development environment;
29 * A vagrant [compatible provider](https://www.vagrantup.com/docs/providers/), e.g. [Virtual Box](https://www.virtualbox.org/wiki/Downloads);
30 * If you don't want to use vagrant, check the [Developer-Setup-on-native-OS](https://github.com/pixelated/pixelated-user-agent/wiki/Developer-Setup-on-native-OS) page.
31
32 ### Option 1: Run Pixelated User Agent against an existing LEAP provider
33
34 1. If you don't have access to an existing LEAP provider, you can create an account at [Bitmask mail demo provider](https://mail.bitmask.net/).
35
36 2. Clone the Pixelated User Agent repo and start the virtual machine (downloads 600MB, you may want get a coffee or tea in the meantime):
37
38     ```
39     $ git clone https://github.com/pixelated/pixelated-user-agent.git
40     $ cd pixelated-user-agent
41     $ vagrant up
42     ```
43
44 3. Log into the VM:
45     * You can access the guest OS shell via the command `vagrant ssh` run within the `pixelated-user-agent` folder in the host OS.
46     * `/vagrant` in the guest OS is mapped to the `pixelated-user-agent` folder in the host OS. File changes on either side will reflect in the other.
47
48     ```
49     $ vagrant ssh
50     $ cd /vagrant
51     ```
52
53 4. Start the pixelated user agent:
54
55     ```
56     $ pixelated-user-agent --host 0.0.0.0 --multi-user --provider=mail.bitmask.net
57     ```
58
59     You also have other ways to start the user agent. Check the ["Single User Mode vs Multi User Mode"](https://github.com/pixelated/pixelated-user-agent/wiki/Single-User-mode-vs-Multi-User-mode) page.
60
61 5. Go to [localhost:3333](http://localhost:3333/) on your browser. You should see the login screen, where you can put your username and password created on step 1. Once you login, you'll see your inbox.
62
63     First time email sync could be slow, please be patient. This could be the case if you have a lot of emails and it is the first time you setup the user agent on your machine.
64
65 ### Option 2: Run Pixelated User Agent against a local LEAP provider
66
67 We suggest you to use the following instructions:
68
69 * Install Pixelated User Agent using [Developer-Setup-on-native-OS](https://github.com/pixelated/pixelated-user-agent/wiki/Developer-Setup-on-native-OS) page;
70 * Install a local LEAP provider using the [LEAP Platform installation with vagrant](https://leap.se/en/docs/platform/tutorials/vagrant#2-vagrant-with-static-vagrantfile) instructions.
71 * Setup local certificate for the user-agent <-> provider communication using - [Setup Local Certificate For Provider](https://github.com/pixelated/pixelated-user-agent/wiki/Running-user-agent-against-a-vagrant-LEAP-provider)
72
73 ## Useful links
74
75 * [Starting Development](https://github.com/pixelated/pixelated-user-agent/wiki/Starting-Development)
76 * [Running tests](https://github.com/pixelated/pixelated-user-agent/wiki/Running-Tests)
77 * [User Agent with Debian packages](https://github.com/pixelated/pixelated-user-agent/wiki/Debian-package)
78 * [Translating Pixelated](https://github.com/pixelated/pixelated-user-agent/wiki/Translating-Pixelated)
79
80 And much more in our [wiki pages](https://github.com/pixelated/pixelated-user-agent/wiki)