Based on Take My Money: Accepting Payments on the Web by Noel Rappin book (Pragmatic Bookshelf)
- Purchase tickets with credit card via stripe or paypal
- Subscriptions plans (via stripe payment)
- Discount codes
- Shipping options
- Processing fee, shipping fee
- Participate as affiliates/third-party sales (powered backend via Stripe Connect)
- Admin login with 2FA
- Admin Dashboard (content management, inventory, discount codes, etc)
- Purchase tickets on behalf of customers via:
- Cash (e.g. at ticket office)
- Invoice/Purchase Order (e.g. bulk purchase)
- Make refunds on entire order or individual order item
- Reports
- Activeadmin reports
- Customised reports (daily revenue, etc)
- User simulation
- Tax calculation via TaxCloud (USA only)
- Stripe webhooks
- ruby: 2.6.3
- rails: ~ 6.0.0
- Database: pg (PostgreSQL)
- Currency: money-rails
- Payments:
- Taxes: tax_cloud (USA only)
- Authentication:
- Authorization and roles: pundit
- Job: delayed_job
- Tests: rspec, capybara, vcr, factorybot
- Admin: activeadmin
- Assets: slim, jQuery, ES6, sprockets, babel-transpiler
- Track changes audit: paper_trail
- Exceptions tracking & logging: rollbar
- Install packages:
bundle
- Create database:
rails db:create
- Run database migrations:
rails db:migrate
- Populate your
secrets.yml
file for various API keys, etc - Run server:
rails s
- Run jobs:
rake jobs:work
- Run tests:
rspec spec/
- Run rake task to create
plans
for subscriptions:rake theater:create_plans