Getting Started¶
Our ez_shopping
application primarily uses:
- Python
- Poetry
- Docker
- ngrok.
Therefore, you must have the listed software installed. We walk through how to do this for each of the items listed.
Setting up a Poetry Environment¶
The Python environment manager we use for this project is Poetry 2. For more detailed instructions and usage of poetry, defer to the official Poetry documentation.
Unix-based (Mac and Linux)
Windows (Powershell)
Once installed, cd into the root directory of the project and run:
To build a release artifact of the software, run:
The python artifact then installs to: <root>/dist/*.whl
Setting up Docker¶
On linux, you can install docker with your package manager:
On mac and linux, it is recommended to install Docker via Docker Desktop.
we mostly use the docker-compose cli tool for spawning our databse servers.
Setting up Ngrok¶
Ngrok is the gateway technology we use. Create a free account with them to get an API token. Defer to ngrok documentation. Detailed instructions on how to install are given here.
most package managers support the software:
Debian
sudo apt install ngrok
Fedora
sudo dnf install ngrok
Mac
brew install ngrok
Windows
choco install ngrok
Once installed, you need to authenticate your ngrok instance by running:
To spin-up the ngrok client, we provide a shell script at: ./scripts/create_ngrok_tunnel.sh.
Deploy EzShopping.¶
Once the above dependencies are resolved, you may deploy the suite of services for the EzShopping application as shown below:
ngrok gateway
Note
The ngrok tunnel needs to be ran in a separate terminal instance
All Commands
Once all commands are executed, you will be redirected to the application's frontend via browser.
Warning
The current version of the software, as of March 2025, runs on local-host only.