Menu

Developer guide

Florian B

Dependencies

The software is developed in JavaScript, it needs to be run with nodejs.

The software require those extern dependencies to work:
Vega
Vega-lite
Caporal
Mailparser
Vcard-js
Jasmine

vega and vega-lite are used to export visual graphics of the data treated.
caporal permit the software to have a simple and easy to use interface in the command prompt. It gives commands such as help or info. It also give the user help for using commands.
mailparser is used to import mails in the software.
vcard-js permit to export mail contacts in vcard format easily.
jasmine is used to perform unit tests.

Project organisation

The main.js file contains all commands to use the software, it use caporal librairies to makes commands work.
email_object contain the class of an email object.
email_inbox_object contain the class of an inbox object that can contains mails.
inbox_loader is used to import mailbox files into a list of mailbox into the program.
vCard_object is used to export contact as vcard format.
ABNF file contains ABNF format for exports. Like the mail ABNF format.
Spec file contains unit tests of the software.

license_dependencies contains all the licenses of used dependencies.
LICENSE file contains the license of the project.

How to use the software

$ node main.js <[COMMAND]> [ARGUMENTS] [OPTIONS]

COMMANDS — Type 'main.js help ' to get some help about a command
nb-mail Give the number of emails exchanged during a time period in the inbox <folder>
email Extract lists of emails
contact Extract the contacts of a specified email address
buzzy List emails sent between 10 pm and 8 am or during the weekend
top-dest List the 10 most frequent addressees for the collaborator <collab>
objet List the 10 most frequent subjects
visu Visualize the exchanges within one email address</collab></folder>

GLOBAL OPTIONS

   -h, --help                           Display global help or command-related help.
   -V, --version                        Display version.
   --no-color                           Disable use of colors in output.
   -v, --verbose                        Verbose mode: will also output debug messages.
   --quiet                              Quiet mode - only displays warn and error messages.
   --silent                             Silent mode: does not output anything, giving no indication of success or failure other than the exit code.

Complementary information

You can use this software on multiples mailbox at the same time.
Exported data respect the mail ABNF format or the vcard format depends on what is the data.

Commands that presents bugs

Import of mailbox is not working well, some of imported mails contains null values, and emails objects contains lacks of information, such as undefined ID, the receiver name and first name missing …
visu, the graph is created but it does not contain any data.


Related

Wiki: ARGUMENTS
Wiki: COMMAND
Wiki: Home
Wiki: OPTIONS