Argentum is a cashless cash register web application. The cash register system is intended to be used alongside cheap USB RFID card scanners and everyday handheld devices such as tablets and phones.
This is a private hobby project and not certified, nor intended for commercial use.
This project is licensed under the terms of the MIT license
This project requires Python 3.6+, Node.js 12+, Docker, and Docker Compose. Please refer to their respective installation instructions:
-
Follow the development setup instructions for argentum-ui. Note that
argentum-apidoes not require a specific setup procedure. -
Build the frontend application
argentum-uiusingng build --aot --prod. Make sure you are using the Angular binarynginstalled in yourargentum-ui/node_modules/.bin. -
Copy your certificate files
cert.pem,chain.pem,fullchain.pem, andprivkey.pemtoproduction/certs. -
Copy
docker/default.envto.envand fill in the variables:POSTGRES_PASSWORD: The password for the postgres database userpostgres. The database is exposed via port5432.DJANGO_KEY: The Django secret key.API_REMOTE_TAG: (optional) A remote Docker repository URL when usingdocker pushto upload theargentum-apidocker image to a remote server (e.g. AWS ECR).UI_REMOTE_TAG: (optional) Remote Docker repository URL forargentum-ui.
-
Change directory to
dockerand rundocker-compose build.
- Change to the
dockerdirectory and rundocker-compose up.
-
Change to the
docker-arm32v7directory and run./get-qemu.shto download the QEMU ARM emulator. -
Register QEMU with Docker:
docker run --rm --privileged multiarch/qemu-user-static:register -
Follow the regular build instructions but use the
docker-arm32v7directory instead of thedockerdirectory.
Note: this may take a lot longer than a regular host architecture build.
-
Change to the
docker-arm32v7directory and create a dummy QEMU file:touch qemu-arm-static. -
Follow the regular build instructions but use the
docker-arm32v7directory instead of thedockerdirectory.
-
Follow the regular build instructions for your target platform.
-
Make sure your images are tagged correctly for your remote repository using
docker images. -
Push your two Docker images using
docker push <remote-tag>
-
Install Docker and Docker Compose.
-
Change to
production/dockerand copydefault.envto.env. -
Fill out
.envaccording to the variable documentation above. -
Run
docker-compose up.