diff --git a/Docs/CliImplementation.md b/Docs/CliImplementation.md new file mode 100644 index 0000000..5464187 --- /dev/null +++ b/Docs/CliImplementation.md @@ -0,0 +1,17 @@ +# Cli module + +The Cli (i.e Command Line Interface) is the only one in which the user can directly interact with the +modules in the project. The objective when building the Cli was to have the least amount of +commands as possible. The cli was built using the library called urfave cli v2 . They were 2 +major files created named as flags.go and actions.go. +### Flags.go +The flags .go file is responsible to create the appropriate flags for the cli. There are 2 types of flags +called boolean and string as described in Fig 5.3.1. Each of the flags outputs are assigned to a +variable to be handled. The flags can also detect environment variables set. This feature is useful +because if the user wants to call certain flags in a repeated sequence it only has to be initialized +once. + +### Actions.go +The actions.go file is implemented to call the appropriate functions when the flags are called. It +interacts directly with the modules in the project. Action.go checks if variables +are not empty string or the boolean value is true. \ No newline at end of file diff --git a/Docs/Implementation.md b/Docs/Implementation.md index 44d822d..3a27aaf 100644 --- a/Docs/Implementation.md +++ b/Docs/Implementation.md @@ -11,7 +11,7 @@ code. It is easy to write independant modules and be monolithic at the sametime Go.mod makes it very easy to handle external libraries and modularise code. The go.mod name for the project is git.sr.ht/~akilan1999/p2p-rendering-computation. -## [Cli Module](ClientImplementation.md) +## [Cli Module](CliImplementation.md) ## [Config Module](ConfigImplementation.md) ## [Server Module](ServerImplementation.md) ## [Client Module](ClientImplementation.md) diff --git a/README.md b/README.md index 76eeba9..0c3a107 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,13 @@ # P2P rendering and computation -## Sponcor this project -[Patereon](https://www.patreon.com/akilan) +The main aim of this project was to create a custom peer to peer network. The user acting as the +client has total flexibility on how to batch the tasks and the user acting as the server has complete +flexibility on tracking the container's usages and killing the containers at any point of time. A +prototype has been implemented that helped to meet the functional requirements of the project. +A thorough evaluation of the prototype has been performed. + +1. [Installation](Docs/Installation.md) +2. [Documentation](Docs/README.md) +3. [Sponsor this project](https://www.patreon.com/akilan) -To be Added after 8th of May