[SourceForge.net Logo]

Trinventum -

[SourceForge] [Sonar Cloud]

Contents:


Description

Trinventum (Transaction and Inventory Unified Manager) is a software that helps manage an e-commerce business.

Trinventum allows to:

What Trinventum is NOT:

Trinventum is meant to be a place where you keep records of what products you have, in what quantities, in what statuses, who is buying and selling them and the transactions between the sellers and buyers.

Documentation is also available on the Trinventum wiki.


Screenshots of Trinventum

Screenshots are available on the SourceForge project page.


Download Trinventum

Current version is 1.0.
[Codacy]
[SonarCloud] [Codacy] [CodeQL] [Semgrep] [Hadolint-App] [Hadolint-Db]
[Sonar] [Sonar] [Sonar] [Sonar] [Sonar]
Download this at SourceForge.

Download Trinventum

[Feed] Trinventum release file feed


Installing the software

Initial steps - most are one-time

  1. A supported database (currently: PostgreSQL) must be running.
    On a Linux system, you would do one of:
  2. A web (HTTP) server with PHP support (like the Apache HTTP Server with mod_php installed) must be running.
    On a Linux system, you would do one of (as root):
    	systemctl start httpd-prefork
    	service httpd start
  3. A database user must be created within the database server.
    On PostgreSQL, you would login to the system as the database user postgres and run:
    	createuser -P trinventum
    It's advised for the user to be the owner of the database that will be created.
    It's easiest to create a user with the same name as the system user name and create the database as the system user.
    You can create other database users later, and give them full or less privileges so that those users can execute all the activities or just the ones they have access to.

  4. A logical database must be created within the database server.
    On PostgreSQL, you would login to the system as the database user postgres and run:
    	createdb -O trinventum trinventum
    (for the specified user to be the database owner)

  5. A procedural language suitable for the database must be installed in the logical database.
    On PostgreSQL versions earlier than 9.0, you would login to the system as the database user postgres and run:
    	createlang plpgsql trinventum
    (don't worry if it says that the language already exists).
    Later PostgreSQL have the language already built-in by default.

  6. Database access rules must be created within the database server unless you wish to leave the default rules.
    On PostgreSQL, you would do (as the database user postgres or root):
    	cp /var/lib/pgsql/data/pg_hba.conf /var/lib/pgsql/data/pg_hba.conf-backup
    	echo local trinventum trinventum scram-sha-256 >> /var/lib/pgsql/data/pg_hba.conf
    	echo host all all 127.0.0.1/32 scram-sha-256 >> /var/lib/pgsql/data/pg_hba.conf
    (Note the double ">>" - it's CRUCIAL to use double ">>", a single ">" would OVERWRITE the target file).
    On older PostgreSQL versions replace scram-sha-256 with md5.
    If you'll need to access the database from another computer:
  7. After changing the access rules for the database server, restart it.
    On Linux with PostgreSQL, you would do one of:

Installation - web application (for manual installation)

To install the web application part:
  1. Copy the contents of the webapp directory (including hidden files) to a chosen location reachable by the web server and adjust the access modes accordingly so that the web server can actually run the files.

    Alternatively, if you have the make program and some common Linux utilities, you can run make install, passing the prefix of the target directory. Trinventum will be installed in $(PREFIX)/trinventum. Examples:

    	make install PREFIX=/srv/www/html SERVERCONF=/etc/httpd/conf/webapps.d
    	make install PREFIX=/var/www/html SERVERCONF=/etc/httpd/conf.d
    	make install PREFIX=$HOME/public_html SERVERCONF=$HOME/tmp

    The SERVERCONF parameter specifies where to put the global web server configuration file. Can be ignored and set to any directory for local installations.

    To install the documentation, you can add a chosen directory as the DOCDIR parameter to make install. Documentation will be installed in $(DOCDIR)/trinventum. Examples:

    	make install PREFIX=/srv/www/html SERVERCONF=/etc/httpd/conf/webapps.d DOCDIR=/usr/share/doc
    	make install PREFIX=/var/www/html DOCDIR=/usr/share/doc
    	make install PREFIX=$HOME/public_html DOCDIR=$HOME/tools/doc
  2. The necessary database structures will be created by the application itself upon the first successful login of a user with full access to the database schema (like the schema owner trinventum created earlier).
    There is NO NEED to run any SQL scripts manually.

Installation - web application (for Docker installation)

To install Trinventum as a Docker container for testing, execute one of (as root):

	docker/docker.sh
	docker-compose -p trinventum -f docker/docker-compose.yaml up -d

in the Trinventum source code top directory (not the docker subdirectory).

WARNING: The default configuration has no permanent storage for the database. In order to have a persistent, working setup, you must add permanent storage to the configuration files.

WARNING: The default docker-compose.yaml file has hardcoded simple passwords. If you wish to use this file and have a secure setup, you must change those passwords in the file.

Optional - create roles and other users

Apart from the main database user (the database owner), you can have users with various privileges using the application:

To create the base roles, run the scripts/create_roles.pgsql file on the database as the database administration user (postgres):

	psql -U postgres -d trinventum -f scripts/create_roles.pgsql

Then, you can use the shell command createuser to create new users - login to the system as the database user postgres and run:

	createuser -P trin_mgr
	createuser -P trin_sell
	createuser -P trin_buy
	createuser -P trin_tx

and grant the selected role(s), found in the scripts/create_roles.pgsql file, to the new user:

	psql -U postgres -d trinventum -c 'grant trinventum_product_manager to trin_mgr'
	psql -U postgres -d trinventum -c 'grant trinventum_seller_manager to trin_sell'
	psql -U postgres -d trinventum -c 'grant trinventum_buyer_manager to trin_buy'
	psql -U postgres -d trinventum -c 'grant trinventum_transaction_manager to trin_tx'

Then, you can log in as the chosen user and have access to just the required functionalities.


Compatibility

Various versions of Trinventum have successfully been used with the following components in the following versions:

Other versions may also work.


Reporting issues

Any defects or issues can be reported by e-mail or in the SourceForge project defect manager (in English).

Any improvement suggestions can be reported by e-mail or in the SourceForge project ticket manager (in English).

To report usage problems, include:

  1. the PostgreSQL version you're using, e.g. PostgreSQL 14.1,
  2. the name and version of the web server you're using, e.g. Apache HTTP Server 2.4.52,
  3. the PHP version you're using, e.g. PHP 8.1.3,
  4. a description of the problem that the software causes,
  5. any error messages that are displayed,
  6. any other information that you think could lead to solving the problem.

-- Help in victory, play a game, send regards, or at least stop using some products


My projects on SourceForge

The always-up-to-date list of my SourceForge projects is on my profile page on SourceForge.


My other software


See my other free software:
  1. Certificate and key generators
  2. E-mail address verifiers
  3. LastMod - a script that inserts or updates a META element with the Last-Modified HTTP header
  4. Atom2Rss - a script that converts an Atom (RFC 4287) channel XML file to an RSS 2.0 XML file
  5. List2Atom - a script that generates an Atom (RFC 4287) channel XML file from a list of files
  6. InSyTrack - telemetry software to track program flow (calls) across libraries, threads, programming languages or even different systems on different machines
See also my assembly-related free software:
  1. Kate/KWrite syntax highlighting for NASM/fasm



Contact information

[mail] Contact me: bogdro AT users . sourceforge . net (English accepted, just say '[SOFT]' in the title).

Keys for the bogdro aliases

[certificate] The public certificate for the e-mail: crt format, cer format, pem format, p7b format, p7c format
Certificate's RIPEMD160 fingerprint: 99:4E:9C:0F:D9:1B:F8:D2:F2:AE:E5:18:9F:3B:5C:61:E6:6C:B4:A8
Certificate's SHA256 fingerprint: 26:22:FE:0F:D7:3A:DE:0A:60:4A:99:29:CB:66:3D:DF:10:45:8B:B6:EC:3E:04:31:DA:67:A5:6E:C4:70:30:B9

[certificate] The public certificate for bogdro-soft: crt format, cer format, pem format, p7b format, p7c format
Certificate's RIPEMD160 fingerprint: 01:A7:57:30:52:EB:F6:58:70:AC:EF:DF:C9:74:50:B1:B3:40:BD:47
Certificate's SHA256 fingerprint: D2:B3:73:22:C0:10:DB:62:3F:DB:1D:FC:EC:44:5C:48:21:0C:C5:9B:E1:7D:E3:63:26:CB:3A:B5:94:45:8C:A5

[certificate] The public certificate for bogdro-perl: crt format, cer format, pem format, p7b format, p7c format
Certificate's RIPEMD160 fingerprint: BF:66:A2:24:6C:87:55:53:90:2C:2B:A5:62:26:D8:11:93:AC:41:98
Certificate's SHA256 fingerprint: 45:C6:17:13:CD:19:FF:39:6C:8D:EC:02:86:5E:E5:90:B5:0B:B6:3F:86:68:E2:7F:60:B7:19:FF:7D:B4:0D:24

[certificate] Issuer's certificate: der format
Issuer's certificate's RIPEMD160 fingerprint: D8:F4:50:F0:8F:79:25:CC:65:20:C9:8D:70:1F:63:14:22:B0:12:24
Issuer's certificate's SHA256 fingerprint: 5E:B4:48:78:F7:58:C6:94:D9:C8:04:B2:42:63:24:9F:5F:03:D0:22:E1:C6:55:18:3E:21:D8:4B:F0:7E:7F:11

[keys] The public GnuPG / PGP keys:
Bogdro-sf e-mail, asc format, key number 476249B50EE1F2E59C4005AF67FFC0790E2D6D3C. A verified version is available at PGP® Global Directory entry for bogdro-sf
Bogdro-soft, asc format, key number 7E05C1468119E8C32B69F72E11B90C14CAE8F72A. A verified version is available at PGP® Global Directory entry for bogdro-soft
Bogdro-perl, asc format, key number A17EBF519B8D55F43472997BFCDBA236678656EA. A verified version is available at PGP® Global Directory entry for bogdro-perl

PGP® and Pretty Good Privacy® are registered trademarks of Symantec Corporation in the United States and other countries.

[certificate] The certificate of the timestamping server which confirms the signature time, can be found on freeTSA.org.


Page information

This page is hosted at SourceForge.net.
This page is written using valid HTML 4.01 [Check my HTML 4.01], [Checked by HTML Validator (based on HTML Tidy)], for all browsers: [For all browsers]

This page uses a valid CSS [Check my CSS]

This page has a content security policy.

This page doesn't use GIF images and doesn't use JPG images.

This page is pure HTML and CSS.

The project icon was created using Inkscape™.


Legal information

LINUX® is a registered trademark of Linus Torvalds.

Postgres® and PostgreSQL® and the Elephant Logo (Slonik) are all registered trademarks of the PostgreSQL Community Association of Canada.

Apache HTTP Server, Apache, and the Apache feather logo are trademarks of The Apache Software Foundation.

All other trademarks, logos and names on this page and all subpages are properties of their respective owners and are given here only as an example.