Content for the PyCon ES 2024 edition
Go to file
2024-01-09 12:47:08 +01:00
.github/workflows Create and upload pdf 2023-11-21 09:09:40 +01:00
docs Minimal changes 2024-01-09 12:47:08 +01:00
src/retailtwin Minimal changes 2024-01-09 12:47:08 +01:00
.DS_Store Create and upload pdf 2023-11-21 09:09:40 +01:00
.gitignore changes that require resetting the db. Staging 2023-11-06 22:05:11 +01:00
.pre-commit-config.yaml Copy all source code from the fundamentals course 2023-09-18 09:32:03 +02:00
Caddyfile Minimal changes 2024-01-09 12:47:08 +01:00
mkdocs.yml Create and upload pdf 2023-11-21 09:09:40 +01:00
pyproject.toml Minimal changes 2024-01-09 12:47:08 +01:00
README.md Minimal changes 2024-01-09 12:47:08 +01:00

retailtwin

Implementation of a digital twin of a retail corporation that operates a chain of grocery stores will be described. The implementation is of course limited but comprehensive enough to get some key insights about why corporate IT looks the way it looks. If anyone intends to create antifragile data systems it's important to study how fragile systems come to be on the first place.

Bootstrap the database

First create a postgresql database.

createdb -h localhost -U postgresuser retail

In this case we decided to call the database retail and we created it in the same computer we will be running the digital twin. Then sync the data models in the freshly created database with:

retailtwin init postgresql://postgresuser:password@localhost/retail

Then we can populate the database with dummy data with the bootstrap subcommand:

retailtwin bootstrap postgresql://postgresuser:password@localhost/retail

Finally we can create all the necessary functions, procedures, and triggers with

retailtwin sync postgresql://postgresuser:password@localhost/retail

Terminals

There are currently three available terminals to operate with the digital twin:

Stocking terminal

stock [DB_URI] [Store location]
stock postgresql://postgresuser:password@localhost/retail 1