All Projects → harrybrwn → Apizza

harrybrwn / Apizza

Licence: apache-2.0
Order Dominos pizza from the command line

Programming Languages

go
31211 projects - #10 most used programming language

Labels

Projects that are alternatives of or similar to Apizza

Picocli
Picocli is a modern framework for building powerful, user-friendly, GraalVM-enabled command line apps with ease. It supports colors, autocompletion, subcommands, and more. In 1 source file so apps can include as source & avoid adding a dependency. Written in Java, usable from Groovy, Kotlin, Scala, etc.
Stars: ✭ 3,286 (+1069.4%)
Mutual labels:  cli
Starcli
✨ Browse GitHub trending projects from your command line
Stars: ✭ 269 (-4.27%)
Mutual labels:  cli
Grumble
A powerful modern CLI and SHELL
Stars: ✭ 277 (-1.42%)
Mutual labels:  cli
Td
Your todo list in your terminal
Stars: ✭ 265 (-5.69%)
Mutual labels:  cli
Git Hound
Git plugin that prevents sensitive data from being committed.
Stars: ✭ 269 (-4.27%)
Mutual labels:  cli
Pydoc Markdown
Create Python API documentation in Markdown format.
Stars: ✭ 273 (-2.85%)
Mutual labels:  cli
Pygogo
A Python logging library with superpowers
Stars: ✭ 265 (-5.69%)
Mutual labels:  cli
Eiskaltdcpp
File sharing program using DC and ADC protocols
Stars: ✭ 277 (-1.42%)
Mutual labels:  cli
Changes
changes automates python library release tasks.
Stars: ✭ 271 (-3.56%)
Mutual labels:  cli
Sagify
MLOps for AWS SageMaker. www.sagifyml.com
Stars: ✭ 277 (-1.42%)
Mutual labels:  cli
Fw
workspace productivity booster
Stars: ✭ 269 (-4.27%)
Mutual labels:  cli
Irs
🎸 🎶 A music downloader that understands your metadata needs.
Stars: ✭ 268 (-4.63%)
Mutual labels:  cli
Tty Markdown
Convert a markdown document or text into a terminal friendly output.
Stars: ✭ 275 (-2.14%)
Mutual labels:  cli
Frick
frick - aka the first debugger built on top of frida
Stars: ✭ 267 (-4.98%)
Mutual labels:  cli
Pycycle
Tool for pinpointing circular imports in Python. Find cyclic imports in any project
Stars: ✭ 278 (-1.07%)
Mutual labels:  cli
Arduino Cli
Arduino command line tool
Stars: ✭ 3,173 (+1029.18%)
Mutual labels:  cli
Onefetch
Git repository summary on your terminal
Stars: ✭ 3,680 (+1209.61%)
Mutual labels:  cli
Teip
Select partial standard input and replace with the result of another command efficiently
Stars: ✭ 280 (-0.36%)
Mutual labels:  cli
Supervizer
NodeJS Application Manager
Stars: ✭ 278 (-1.07%)
Mutual labels:  cli
Feeluown
trying to be a user-friendly and hackable music player
Stars: ✭ 3,030 (+978.29%)
Mutual labels:  cli

apizza logo

Build Status GoDoc Go Report Card codecov TODOs

Dominos pizza from the command line.

Table of Contents

Installation

Download the precompiled binaries for Mac, Windows, and Linux

Homebrew
brew install harrybrwn/tap/apizza
Debian/Ubuntu
curl -LO https://github.com/harrybrwn/apizza/releases/download/v0.0.3/apizza_0.0.3_Linux_64-bit.deb
sudo dpkg -i apizza_0.0.3_Linux_64-bit.deb
Rpm
curl -LO https://github.com/harrybrwn/apizza/releases/download/v0.0.3/apizza_0.0.3_Linux_64-bit.rpm
sudo rpm -i apizza_0.0.3_Linux_64-bit.rpm
Archives

Compile

go get -u github.com/harrybrwn/apizza

or

git clone https://github.com/harrybrwn/apizza
cd apizza
make install

Setup

The most you have to do as a user in terms of setting up apizza is fill in the config variables. The only config variables that are mandatory are "Address" and "Service" but the other config variables contain information that the Dominos website uses.

To edit the config file, you can either use the built-in config get and config set commands (see Config) to configure apizza or you can edit the $HOME/.config/apizza/config.json file. Both of these setup methods will have the same results If you add a key-value pair to the config.json file that is not already in the file it will be overwritten the next time the program is run.

Config

For documentation on configuration and configuration fields, see documentation

The config get and config set commands can be used with one config variable at a time...

$ apizza config set email='[email protected]'
$ apizza config set name='Bob'
$ apizza config set service='Carryout'

Or they can be moved to one command like so.

$ apizza config set name=Bob email='[email protected]' service='Carryout'

Or just edit the json config file with

$ apizza config --edit

Menu

Run apizza menu to print the dominos menu.

The menu command will also give more detailed information when given arguments.

The arguments can either be a product code or a category name.

$ apizza menu pizza      # show all the pizza
$ apizza menu drinks     # show all the drinks
$ apizza menu 10SCEXTRAV # show details on 10SCEXTRAV

To see the different menu categories, use the --show-categories flag. And to view the different toppings use the --toppings flag.

Cart

To save a new order, use apizza cart new

$ apizza cart new 'testorder' --product=16SCREEN --toppings=P,C,X # pepperoni, cheese, sauce

apizza cart is the command the shows all the saved orders.

Note: Adding and removing items from the cart is a little bit weird and it will probably change in the future.

The two flags --add and --remove are intended for editing an order. They will not work if no order name is given as a command. To add a product from an order, simply give apizza cart <order> --add=<product> and to remove a product give --remove=<product>.

Editing a product's toppings a little more complicated. The --product flag is the key to editing toppings. To edit a topping, give the product that the topping belongs to to the --product flag and give the actual topping name to either --remove or --add.

$ apizza cart myorder --product=16SCREEN --add=P

This command will add pepperoni to the pizza named 16SCREEN, and...

$ apizza cart myorder --product=16SCREEN --remove=P

will remove pepperoni from the 16SCREEN item in the order named 'myorder'.

To customize toppings use the syntax <name>:<left|right|full>:<0.5|1.0|1.5|2.0> when adding a topping.

$ apizza cart myorder --product=12SCREEN --add=P:full:2 # double pepperoni

Order

To actually send an order from the cart. Use the order command.

$ apizza order myorder --cvv=000

Once the command is executed, it will prompt you asking if you are sure you want to send the order. Enter y and the order will be sent.

Tutorials

None Pizza with Left Beef

$ apizza cart new --name=leftbeef --product=12SCREEN
$ apizza cart leftbeef --remove=C --product=12SCREEN # remove cheese
$ apizza cart leftbeef --remove=X --product=12SCREEN # remove sauce
$ apizza cart leftbeef --add=B:left --product=12SCREEN # add beef to the left

The Dominos API Wrapper for Go

Docs and example code for my Dominos library.

Credit: Logo was made with Logomakr.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].