GithubHelp home page GithubHelp logo

miguelramosfdz / webclient Goto Github PK

View Code? Open in Web Editor NEW

This project forked from protonmail/webclients

0.0 2.0 0.0 21.86 MB

Official AngularJS web client for the ProtonMail secure email service.

Home Page: https://protonmail.com

License: Other

JavaScript 76.80% Makefile 0.01% Shell 0.10% HTML 14.04% CSS 9.05%

webclient's Introduction

ProtonMail Web Client

Official AngularJS web client for the ProtonMail secure email service. ProtonMail also makes use of OpenPGPjs as our message crytography is PGP compliant.

Translation

We are currently working with our community to localize ProtonMail from English to most of the world's major languages. If you're interested in being part of this translation project, send us an email to [email protected] with the subject line "ProtonMail Translation Project [Your Language]" and we will offer you more information about it.

Basic Installation

โš ๏ธ You must have node.js >= v6

  • $ npm install
  • $ npm start

If you have docker, and prefer to not install node (or anything else) locally

  • make start to start the app on a container (use make localurl to find the url where it's running)
  • make test to build the app (actual tests are still to come)

There is a very good chance you won't be able to use the app locally because of various security headers and such. But you should be able to get the code running enough to poke around and inspect it.

We are still in Beta and will have a more refined build process, installation instructions, unit tests, and all that good stuff once we exit Beta.

Development

We are very open to bug reports via Issues as well as Pull Requests.

Deploy

  1. Create a new version + tag => $ npm version --(patch|minor|major)
  2. Deploy via grunt grunt deploy --api=X --dest=Y

Then don't forget to do a git push --tags to push the tag

CLI Flags

  • --no-open: Stop the browser from automatically opening
  • --no-ghost: Switch off Clicks, Scrolls & Form inputs on any device

Branch naming conventions

For a fix

  • fix/<your feature>

For a feature

  • feat/<your feature>
  • or feature/<your feature>

Tests

$ npm test

To edit test it's better to run $ npm run testwatch (tests with a watcher)

End to end testing for AngularJS

Installation:

$ npm install -g protractor
$ webdriver-manager update

Start up a Selenium Server:

$ webdriver-manager start

To run selenium you can use docker if you don't want to install Java :

$ docker run -d -p 4444:4444 -v /dev/shm:/dev/shm selenium/standalone-chrome:2.53.0

cf Selenium Docker

Run tests:

$ npm run e2e -- --params.password1 "XXX" --params.password2 "XXX"

default account is qatest123, you can change that using --params.login "xxxx"

$ npm run e2e

Run a scenario:

$ npm run e2e -- --suite=login

CLI Flags

  • --dest : Deploy dest
  • --api : Set an API for the app (dev, live, etc.)
  • --article : Change the path to the article (for a custom version)
  • --api-version : Set a custom api version
  • --app-version : Set a custom version (_ex: --app-version=3.8.20)
  • --patch : Change version, increment patch
  • --minor : Change version, increment minor
  • --major : Change version, increment major

--major|minor|patch come from The semantic versioner for npm

Dev flag

  • --no-open: Do not open the browser on dev

License

Copyright (c) 2013-2016

Proton Technologies A.G. (Switzerland)

Email: [email protected]

License: https://github.com/ProtonMail/WebClient/blob/public/license.md

webclient's People

Contributors

buildog avatar dhoko avatar eliovir avatar emersion avatar epokk avatar gereeter avatar jasonstockman avatar kaylukas avatar n4m3z avatar sanjanarajan avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.