cp ./etc/pretix.cfg.template ./etc/pretix.cfg
# Fill in the blanksdocker-compose up
to run development environment
./bin/prodserver.sh
to start nginx/gunicorn via supervisor./bin/stopprodserver.sh
to stop nginx/gunicorn via supervisor./bin/runserver.sh
to start django runserver./bin/manage.sh
to access django management commands./bin/logs.sh
to access django management commands./bin/shell.sh
to access bash shell
- https://docs.pretix.eu/en/latest/admin/installation/docker_smallscale.html#next-steps
- https://docs.pretix.eu/en/latest/development/setup.html
- Dashboard:
http://localhost:8000/control/
- User:
admin@localhost
- Password:
admin
- Create an organizer
- Create an event
- Start presales
- Docker
- SMTP
- nginx (reverse proxy)
- PostgreSQL
- redis
- pretix application
docker pull pretix/standalone:stable
pretix.cfg
for pulling it all together
- create solidity smart contract to accept payment with order id
- store orderId and with payment
- enable contract creator to withdraw funds
- deploy to ganache testnet
- create standalone Flask application for POC, later migrate to Pretix(Django)
- manually register contract address and ABI with API
- provide contract ABI and address to client
- provide unique order ID to client
- provide ether conversion of order price to client
- receive posted transaction id so api can start listening for event
- on successful network confirmation update the associated Pretix Order
- create standalone HTML5/JS/Web3/MetaMask payment page, later inject via Pretix template
- give MetaMask prompt if not found
- instantiate web3 and enable ethereum
- show order, with price in dollars and in ether
- show payment button
- when payment is made, pull up MetaMask and confirm (updated) price in ether
- once transaction is made, ping the API with the transaction ID
- create plugin
Etherpay
- subclass
Etherpay
fromBasePaymentProvider
and fill in required info - update required templates
- register
Etherpay
payment gateway with Pretix - pray it works
- resolve all issues until it does
- no refunds right now (manual, contact administrator)
- only one contract owner for withdrawals
- a single contract for every event -- later we can improve to handle multiple events, and multiple organizers.
- Get Pretix docker-compose development environment up and running
- Create dummy organization and event
- Create Etherpay contract and deploy via Remix to testnet
- Manually integrate contract address and ABI to API
- Create Flask API and html5 webclient, pull all data from API
- Test transactions on client
- Test event discovery on API
- Integrate with Application