Skip to content

Repository files navigation

Argentum

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

Setup

This project requires Python 3.6+, Node.js 12+, Docker, and Docker Compose. Please refer to their respective installation instructions:

Build

  1. Follow the development setup instructions for argentum-ui. Note that argentum-api does not require a specific setup procedure.

  2. Build the frontend application argentum-ui using ng build --aot --prod. Make sure you are using the Angular binary ng installed in your argentum-ui/node_modules/.bin.

  3. Copy your certificate files cert.pem, chain.pem, fullchain.pem, and privkey.pem to production/certs.

  4. Copy docker/default.env to .env and fill in the variables:

    • POSTGRES_PASSWORD: The password for the postgres database user postgres. The database is exposed via port 5432.
    • DJANGO_KEY: The Django secret key.
    • API_REMOTE_TAG: (optional) A remote Docker repository URL when using docker push to upload the argentum-api docker image to a remote server (e.g. AWS ECR).
    • UI_REMOTE_TAG: (optional) Remote Docker repository URL for argentum-ui.
  5. Change directory to docker and run docker-compose build.

Run

  1. Change to the docker directory and run docker-compose up.

Build for ARM32v7 (Raspberry Pi 3) on an x86 host

  1. Change to the docker-arm32v7 directory and run ./get-qemu.sh to download the QEMU ARM emulator.

  2. Register QEMU with Docker: docker run --rm --privileged multiarch/qemu-user-static:register

  3. Follow the regular build instructions but use the docker-arm32v7 directory instead of the docker directory.

Note: this may take a lot longer than a regular host architecture build.

Build on ARM32v7

  1. Change to the docker-arm32v7 directory and create a dummy QEMU file: touch qemu-arm-static.

  2. Follow the regular build instructions but use the docker-arm32v7 directory instead of the docker directory.

Build with a Docker container registry.

  1. Follow the regular build instructions for your target platform.

  2. Make sure your images are tagged correctly for your remote repository using docker images.

  3. Push your two Docker images using docker push <remote-tag>

Run using a Docker container registry.

  1. Install Docker and Docker Compose.

  2. Change to production/docker and copy default.env to .env.

  3. Fill out .env according to the variable documentation above.

  4. Run docker-compose up.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages