Skip to content
This repository has been archived by the owner on Dec 9, 2022. It is now read-only.
/ hipsterpizza Public archive

HipsterPizza mit nnev-spezifischen Patches -- UNMAINTAINED / ABANDONED

License

Notifications You must be signed in to change notification settings

nnev/hipsterpizza

Repository files navigation

HipsterPizza – pizza.yrden.de

HipsterPizza allows to make group orders on pizza.de. If you don’t want to run your own copy, you can use the public instance at pizza.yrden.de.

Regular user? Roll your own copy to gain the ability to

  • automate all the things
  • save sharing the basket ID with colleagues
  • send your own fax to…
    • easily match order to person
    • add detailed way description
    • get VIP status
    • Bonus: confuse the delivery people

Convinced? Read on!

Status

Build Status Test Coverage Code Climate

Rolling your own copy

Basic Setup

sudo apt-get install ruby git libssl-dev libsqlite3-dev nodejs
sudo gem install bundler

sudo mkdir -p /var/www/
sudo chown www-data:www-data /var/www
cd /var/www

# Install HipsterPizza and its dependencies:
sudo -u www-data -s
  git clone git://github.com/breunigs/hipsterpizza
  cd hipsterpizza

  export DISABLE_SPRING=1
  /usr/bin/bundle --deployment --without development test
  ./bin/rake hipster:setup_production

  RAILS_ENV=production ./bin/rails server -p 10002 -b localhost

HipsterPizza should now be accessible from your browser at http://localhost:10002, give it a spin!

Everything that follows is optional. If you decide that the simple setup is enough for you, you may want to replace localhost with 0.0.0.0 in the startup command. Others can access HipsterPizza using your IP or hostname and the port.

Starting it automatically

using systemd:

sudo cp /var/www/hipsterpizza/docs/systemd/* /etc/systemd/system/
sudo systemctl enable hipsterpizza.service hipsterpizza-cleanup.timer
sudo systemctl start hipsterpizza.service

This will ensure HipsterPizza starts everytime you boot the system. The hipsterpizza-cleanup jobs automatically removes outdated data – this keeps the delivery time estimate decent.

not using systemd:

Execute the following commands as user www-data at appropriate times/events:

cd /var/www/hipsterpizza
RAILS_ENV=production ./bin/rails server Puma -p 10002 -b localhost
RAILS_ENV=production ./bin/rake hipster:purge_old

Webserver integration

If you want HipsterPizza to be accessible “properly”, with a real domain and such, you need to install a webserver to act as reverse proxy.

Caveat: HipsterPizza does not support sub-URIs/sub-directories. I.e. pizza.example.com is fine, while www.example.com/pizza is not.

You can find an example config for nginx in docs/nginx_configuration_example. It’s strongly recommended to use that as a base. Missing config directives can lead to subtle bugs not immediately visible.

Copy the sample to /etc/nginx/sites-available/hipsterpizza and edit the IPv6 address and server name. Add a symbolic link to sites-enabled and reload nginx to apply the changes.

Configuring HipsterPizza to your needs

Once the above setup is done, you should have a public instance of HipsterPizza running, just like the one on pizza.yrden.de.

config/pinning.yml: (see example) Allows you to fixate details you’d need to enter each time when using HipsterPizza’s public instance. You can prefill only some details or lock everything down, depending on your needs. Each config options is documented in the linked example file.

config/fax.yml: (see example) If you order regularly from the same delivery service, you can order by directly sending them a fax (ask them first!). This file allows you to customize address, logos, etc.

Biggest advantage: By including the nicks with each order, matching pizza box to nerd is speed up tremendously. If you register with pdf24.org, you can fax from HipsterPizza’s interface, too. This is the setup we (Heidelberg’s hacker group) use. If the delivery service plays along, this rocks.

About

HipsterPizza mit nnev-spezifischen Patches -- UNMAINTAINED / ABANDONED

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published