ProtonMail / proton-pack

Command to run a dev-server, build etc. with OpenPGP. On top of webpack.
10 stars 5 forks source link

A few questions. #50

Open gohanko opened 4 years ago

gohanko commented 4 years ago

I was going through the code of this repository, and I have a few questions. Hopefully this is the right place to ask.

  1. https://github.com/ProtonMail/proton-pack/blob/master/cli/configApp.js#L84 Regarding this API endpoint, I noticed it isn't accessible (probably an internal thing), is it used for development of FE apps using unreleased APIs?

  2. I noticed that in the template folder, we have an auth folder (which I assume is used for all Proton's apps), does this mean that proton-pack is used for creating new ProtonMail applications?

  3. Seems like ProtonMail has lots of shared code in multiple repos and such, how does development work? Assuming you make changes on multiple repos to make some change on one project. How would you make it so it reflect locally? And also how do the changes we make for that one project doesn't break anything in the other projects? Do we test all of them every time shared code is changed?

Regards, Brandon

dhoko commented 4 years ago

:wave:

1> yeah we don't use this anymore^^ it was an alias to localhost.

2> we use it to create the default template (we only use auth) but I don't think it's really up-to-date anymore. The boilerplate should not be there :grimacing:

3> We have: Libs:

Tools:

Actually it's not so difficult to work with, via npm links. We have CIs to ensure it's :green_circle: for all our apps + QA.

gohanko commented 4 years ago

Thanks for answering @dhoko :wave:, fortunately (or unfortunately :p) I have a few more questions.

  1. Seems like proton-mail, proton-mail-settings, proton-contacts and proton-calendar are all different apps, how are these glued together under one domain? I would assume some kind of nginx config that has routes pointing to each app that is running independently, or some kind of master project where all of apps are routed using a routing library.

  2. For design-system, seems like there's a lot of hand-coded HTML pages and such, are all of these actually hand coded or are they generated? Seems like a hassle if it is the former.

  3. How does the apps connect to ProtonMail servers? As far as I know from what I read, everything is encrypted then sent to the servers, but I seem to have trouble finding the code for this (I probably overlooked this, pardon my noobness :pray:). Can you point me to the files responsible for this?

  4. Do you guys accept PRs at the moment? If so, do you guys have some issues that needs help with (preferably easy to medium ones to get started)? I'm interested in contributing to open source, it's a good experience and helps with future employers.

Regards, Brandon