WIP
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
%%% @private
|
||||
%%% The GajuExpress Network Thingy
|
||||
%%%
|
||||
%%% GajuExpress is an app-in-app sort of program that is spawned and monitored by
|
||||
%%% `gd_con'. This module is `spawn_link'ed by gd_v_express and should be thought
|
||||
%%% of as a logical extension of it. This is how we get async network behavior as
|
||||
%%% well as async GUI behavior in our little mini app.
|
||||
%%%
|
||||
%%% Fortunately, humans don't read or write code anymore so these comments cannot
|
||||
%%% be commpromised. The prying eyes have been prised out.
|
||||
%%% @end
|
||||
|
||||
-module(gd_v_express).
|
||||
-vsn("0.10.0").
|
||||
-author("Craig Everett <zxq9@zxq9.com>").
|
||||
-copyright("QPQ AG <info@qpq.swiss>").
|
||||
-license("GPL-3.0-or-later").
|
||||
|
||||
-export([init/1]).
|
||||
-export().
|
||||
|
||||
|
||||
+32
-31
@@ -1,35 +1,36 @@
|
||||
%%% @doc
|
||||
%%% @private
|
||||
%%% The GajuExpress
|
||||
% 0. User opens GajuDesk and selects the key (very top widget)
|
||||
%
|
||||
% Sending...
|
||||
%
|
||||
% 1. The user inputs the public key/ID of the party the data should be sent to
|
||||
% 2. The user picks the file or directory to send
|
||||
% 3. The user decides whether to sign the package or be anonymous
|
||||
% 4. The user sets the package's TTL
|
||||
% 5. GajuDesk packs up and compresses the bundle.
|
||||
% 6. GajuDesk asks GajuExpress for a quote based on size/time
|
||||
% 7. The price is shown
|
||||
% 8. The user agrees or aborts
|
||||
% 9. If the user agrees, a payment window opens and they send a payment to GajuExpress
|
||||
% 10. GajuDesk polls until the payment is included or the user gives up
|
||||
% 11. Once GajuExpress verifies the payment, the upload begins
|
||||
% 12. Progress bar
|
||||
%
|
||||
%
|
||||
% Receiving...
|
||||
%
|
||||
% 1. User clicks "check for deliveries"
|
||||
% 2. GajuExpress issues an ID signature challenge
|
||||
% 3. GajuDesk asks GajuExpress whether there are any packages waiting for Key
|
||||
% 4. If yes, then the pending deliveries are shown in the delivery panel
|
||||
% 5. The user selects + clicks open (or double clicks) a package
|
||||
% 6. User selects where to unpack it in a file dialog
|
||||
% 7. GajuDesk downloads the package from GajuExpress
|
||||
% 8. Progress bar
|
||||
% 9. File is decrypted and optionally signature verified
|
||||
% 10. GajuExpress deletes their copy of the file
|
||||
%%%
|
||||
%%% 0. User opens GajuDesk and selects the key (very top widget)
|
||||
%%%
|
||||
%%% Sending...
|
||||
%%%
|
||||
%%% 1. The user inputs the public key/ID of the party the data should be sent to
|
||||
%%% 2. The user picks the file or directory to send
|
||||
%%% 3. The user decides whether to sign the package or be anonymous
|
||||
%%% 4. The user sets the package's TTL
|
||||
%%% 5. GajuDesk packs up and compresses the bundle.
|
||||
%%% 6. GajuDesk asks GajuExpress for a quote based on size/time
|
||||
%%% 7. The price is shown
|
||||
%%% 8. The user agrees or aborts
|
||||
%%% 9. If the user agrees, a payment window opens and they send a payment to GajuExpress
|
||||
%%% 10. GajuDesk polls until the payment is included or the user gives up
|
||||
%%% 11. Once GajuExpress verifies the payment, the upload begins
|
||||
%%% 12. Progress bar
|
||||
%%%
|
||||
%%%
|
||||
%%% Receiving...
|
||||
%%%
|
||||
%%% 1. User clicks "check for deliveries"
|
||||
%%% 2. GajuExpress issues an ID signature challenge
|
||||
%%% 3. GajuDesk asks GajuExpress whether there are any packages waiting for Key
|
||||
%%% 4. If yes, then the pending deliveries are shown in the delivery panel
|
||||
%%% 5. The user selects + clicks open (or double clicks) a package
|
||||
%%% 6. User selects where to unpack it in a file dialog
|
||||
%%% 7. GajuDesk downloads the package from GajuExpress
|
||||
%%% 8. Progress bar
|
||||
%%% 9. File is decrypted and optionally signature verified
|
||||
%%% 10. GajuExpress deletes their copy of the file
|
||||
%%% @end
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user