LogiTrain/ README technique

LogiTrain — logistics training suite on Odoo 18

Four training software packages for the ATFP training centre (bon de commande n° 36001/36002), delivered as Odoo 18.0 Community modules plus a small RFID bridge and a self-hosted routing stack.

BC line Package Modules
1 Delivery tours, map, route optimisation, regulatory constraints logitrain_tour (+ logitrain_base map widgets)
2 Load planning with 3D optimisation (vehicles, containers, pallets) logitrain_loadplan, logitrain_tour_loadplan
3 Integrated fleet management (administrative, technical, financial) logitrain_fleet
4 WMS with RFID logitrain_wms + rfid-bridge/
Training framework, catalogue, cohorts, exercises, scoring logitrain_base
Fictional Tunisian dataset for the golden template databases logitrain_demo_tn

The technical specification is in docs/SPEC.md; implementation status against it in docs/STATUS.md.

Quick start (development)

# Odoo 18 source + PostgreSQL, then:
git clone <this repo> intech-logitrain
python3 /opt/odoo/odoo-bin -d logitrain --addons-path=/opt/odoo/addons,$PWD/intech-logitrain/addons -i logitrain_demo_tn

Log in as admin, open the LogiTrain app. Demo users: formateur1 / formateur1 (trainer), apprenant1..5 (trainees). Without OSRM/VROOM the tours run in approximate mode (straight lines × road factor); set the engine URLs in Settings → LogiTrain once the stack below is up.

Production stack (training centre server)

cd deploy && cp .env.example .env    # set passwords
./osrm/build.sh                       # Tunisia OSM extract -> OSRM graph
docker compose up -d                  # Odoo, Postgres, OSRM, VROOM, nginx, nightly backups
docker compose --profile offline up -d tiles   # optional offline basemap, see deploy/tiles/README.md

Then in Odoo settings: OSRM http://osrm:5000, VROOM http://vroom:3000. One database per cohort is created by duplicating the golden template (logitrain_demo_tn installed) from the database manager (LAN-restricted in nginx).

Tests

ODOO_HOME=/opt/odoo ./scripts/dev_test.sh        # Odoo test suite (base, wms, tour, loadplan)
python scripts/test_solver_standalone.py         # packing solver invariants, no Odoo required
python -m pytest -q                              # rfid-bridge

Layout

addons/            Odoo modules
rfid-bridge/       reader-side service (mock / LLRP / serial adapters)
deploy/            docker-compose, nginx, OSRM build, VROOM config, backups
docs/              SPEC.md, STATUS.md
scripts/           dev helpers

Licence: LGPL-3 placeholder pending decision D6 (see docs/SPEC.md). Leaflet is vendored under BSD-2 (addons/logitrain_base/static/lib/leaflet/LICENSE).