Files
advotracker/README.md
2020-07-24 19:57:00 +02:00

162 lines
4.5 KiB
Markdown
Executable File
Raw Blame History

<!-- AdvoTracker README.md -->
<!-- version: 0.1.3 -->
<!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-generate-toc again -->
<!-- markdown-toc end -->
## About
`AdvoTracker` supports lawyers to capture relevant data encountered during an online
legal advice.
The application components are implemented using the programming language *Rust*.
The graphical user interface (GUI) uses the class-lib *OrbTk*, which is natively
encoded in *Rust* as well.
`AdvoTracker` can be deployed on every target operating system that is officialy
supported by the `OrbTK` toolkit. Currently included are:
* macOS
* Linux
* openBSD
* Redox OS
* Web-Browser
* Windows
Porting to and in activ development are:
* Android
* iOS
* ubuntu Touch
Reference is made to the official project pages of [Rust Book][^1] and [OrbTk][^2]
as documentation sources.
## Internationalization
Dialogs and messages generated inside the application will respect the system language
of the active user. This is adaptable via the environment variable
(default: LANG = en_US.UTF8 ).
Within the source code you can find translated constants in the subdirectory 'locales'
(<src-root>/advotracker/src/locales/advotracker.json).
For every supported language-string, you will find a block starting with the
generic message code, followed by the target language translation. Translation lines
are identified by its ISO Code (e.g. de_DE.UTF8, es_ES.UTF8).
## Installation from source code
You can either download the `Advotracker` source code as a Zip-File or using `git`
from projects repositoy URL.
The source code is subdiveded in three submodules:
* advotracker
* advotrackerd
* advotracker-db
Currently the given WEB-URL certificate is signed by a Microsoft CA.
Since this CA can't be verified from offical CA-lists you have to proceed as follows:
```sh
$ cd <your_path>
$ git -c http.https://gitea.networkx.de:50443.sslverify=false \
clone --recurse-submodules --jobs=10 \
https://gitea.networkx.de:50443/rzerres/advotracker
```
To compile the target binary code, you have to use rusts toolchain.
If this isn't already installed on your development system, please go ahead
and either use the official supported installation tool from the rust communtiy
([rustup][^3]). As an alternitiv, you can download and install the compiler package
using your systems package manager.
### native operating system binaries
A binary compatible with your target operating system will be compiled
with the following command:
```sh
$ cd <advotracker_root>
$ cargo build --release
```
The toolchain also allows to cross-compile for other operating systems. Please
consult the rust documentation for further instructions.
### web-browser application
- **Prerequisits**
To run as a browser, electron or cordova app, you have to install cargo-node:
```sh
cargo install -f cargo-node
```
cargo-node will require a working version of `npm` (>=v6.9.0).
You may download [Node.js][^4], which includes npm as well.
- **Start as browser app**
You can run `Advotracker` as a web-browser app with the following call.
Once the app is running, you can connect to it opening the given URL
in you Web-Browser.
```sh
cargo node run --target browser --bin advotracker
```
- **Start as electron app**
```sh
cargo node run --target electron advotracker
```
- **Start as android app**
```sh
cargo node run --target android --bin advotracker
```
## Build and run documentation
You can build and view the latest documentation by executing the following command:
```sh
cargo doc --no-deps --open
```
This will render the web-pages, collecting the documentation paragraphs in the
source-code. When finished, it will open a new tab in your web browser
presenting the documentation.
## Installation
To install the compiled binary you can use rust package manager `cargo` as well.
```sh
cd <advotracker_root>
$ cargo install
```
In addition, you will need to copy the resource folder into your target directory.
This will provide the access to used fonts, images und stylesheets.
---
[Logo-CC_BY]: https://i.creativecommons.org/l/by/4.0/88x31.png "Creative Common Logo"
[License-CC_BY]: https://creativecommons.org/licenses/by/4.0/legalcode "Creative Common License"
This work is licensed under a [Creative Common License 4.0][License-CC_BY]
![Creative Common Logo][Logo-CC_BY]
<EFBFBD> 2020 Ralf Zerres, Networkx GmbH
---
Foodnotes
[^1]: Rust Book: https://doc.rust-lang.org/book/
[^2]: OrbTK GUI: https://gitlab.redox-os.org/redox-os/orbtk
[^3]: Rustup: https://rustup.rs/
[^4]: Node.js: https://nodejs.org/dist/v10.16.3/