ericcornelissen / NervousFish

An app for your :iphone: to exchange public-keys in a secure manner.
GNU Lesser General Public License v3.0
2 stars 4 forks source link

Uml, closes #124 and closes #125 and closes #126 #158

Closed jverbraeken closed 7 years ago

jverbraeken commented 7 years ago

What

This Pull Request adds to the repository some UML diagrams to make the implementation more clear to the stakeholders

Why

This Pull Request is needed because it's very hard to understand the code just by looking at it

How

This feature can be viewed/tested within the project by looking at the UML diagrams

Alternative implementation

Other implementations that I've have considered are

Notes

This PR is mainly for reviewing. It's no problem if the diagrams are merged into develop, but the main purpose is to get feedback on these diagrams that will be included in the report ultimately.

TheBonheurs commented 7 years ago
jverbraeken commented 7 years ago

@ericcornelissen

Why is the first diagram useful? Isn't this (nearly) the same for all Android apps?

I thought the same as @TheBonheurs , that it's obvious for us developers, but that it may be handy for our customers to see how the deployment works. It's no complicated diagram indeed.

I do not fully agree with your last diagram. First of all it should be possible for third party apps to just get the public key of a contact so they can do the encryption themselves and I'm not even sure if we're supposed to do any encryption (although I do think that would be a nice addition). The same goes for decrypting the message, I think it should also be possible for third party apps to use the private key for the decryption themselves.

I don't agree with your last point, because your private key must be stored securely. Preferably even the user doesn't know it, because there is a lot of power in it. Why would a third-party application want to steal the very very secure private key of the user so that it can decrypt a message itself instead of just passing the encrypted message to our application and letting our application decrypt it?

jverbraeken commented 7 years ago

@clenrock

The UseCaseDiagram is very clear for the first part. I think you can include the "Nice-to-haves" in the first part. And for the API, I think it should only have the ability to retrieve contacts or your own profile

Implemented!

jverbraeken commented 7 years ago

@TheBonheurs We'll talk about it next meeting ;-)