Difference between revisions of "Web Stores and Shopping Carts"

From SOBAC Wiki
Jump to navigation Jump to search
(Meeting Notes)
(Meeting Notes)
Line 102: Line 102:
 
*** Tax and shipping rules can be defined by the developer, but not through the WebUI
 
*** Tax and shipping rules can be defined by the developer, but not through the WebUI
 
*** Sam take us for a deep dive into the shipping selection code
 
*** Sam take us for a deep dive into the shipping selection code
 +
 +
 +
* Reporting in Shopkit
 +
** Done from the Shopkit backend
 +
** Invoices are created by PHP into PDF files using "DOM PDF"
 +
** Report invoices are generated dynamically every time, but from a static "transactions" file
 +
** Added some widgets on the dashboard, eg. "Abandoned, Pending, Paid/Shipped"
 +
** There are also site stats based on another Kirby plugin
 +
 +
 +
* Payment Processing
 +
** Implemented at "gateways" in Shopkit
 +
*** Each gateway has a "process" and a "callback"
 +
** Some processors (square) expect money values to be in cents
 +
*** Performing only integer operations on cents seems to be best practice
 +
** There are thousands of processors, so Sam has created an open system for processor gateways
 +
** Payment processors provide an SDK for the gateway code
 +
*** Each payment processor has its own API, unique for each installation.
 +
**** This separates the payment processing from Shopkit itself, absolving Sam of dealing with payment issues
 +
 +
 +
 +
* Testing
 +
** No formal testing methodology
 +
** Tries new code on a test site, Sam's own site
 +
** Most bugs are caught by end-users (developers)
 +
 +
 +
* Shopkit and Kirby aren't quite Free Software: Code is available for inspection, modification, but not necessarily for redistribution. But payment is on the honour system.
 +
 +
 +
* There have been 200 issues logged in the Shopkit issue tracker; most are from Sam himself.
 +
** Top question: Can I add Shopkit to an existing (Kirby) site?
 +
*** Not really, Shopkit is a standalone application,
 +
*** Shopkit is a good intermediate between a simple button, and a full-fledged e-commerce system.
 +
* Shopkit's changes to Kirby are mostly in the "snippets", which might conflict with another Kirby installation's snippets
 +
* Shopkit is a full point version behind the Kirby, always on the stable version.
 +
 +
 +
 +
 +
'''Shopkit is a ''kit'', a standalone, turnkey application'''
 +
 +
 +
* Kirby developer, Bastian Algere,  is known for Zootool, and making a living off Kirby
 +
  
  

Revision as of 20:09, 16 July 2018

Web Stores and Shopping Carts

Date
Monday 16 July 2018 from 7:00pm to 9:00pm
Meetup Event
https://www.meetup.com/NetSquared-Kitchener-Waterloo/events/250380630/
Location
Room 1301 -- Conrad Grebel University College, 140 Westmount Rd. N., Waterloo, Ontario Map
Event Announcement
Web Stores and Shopping Carts/Announcement 2018-07-16

Does your NonProfit organization sell things? Does it provide paid services? Do you need a web presence for your sales? Will you need a separate server for your web store? Or can you add a shopping cart to your existing web site? Or is it better to outsource all online commerce?

Meet our guest speaker Sam Nabi, developer of Shopkit, and let's discuss what a System Administrator needs to join a NonProfit organization to the world of web commerce.

--Marc Paré & Bob Jonkman

Resources


Meeting Notes

Introductions
  • Where is everyone coming from? Sam Nabi will tailor his tour to our needs.
    • Nonprofit org wants online registrations with payment
    • Bookseller
    • Online donations
    • Goods and Services
    • Media Production (rental of cameras, lights, &c)
  • Want to make things easier for sellers and buyers


Shopkit
  • https://github.com/samnabi/shopkit
  • Plugin for CMS called "Kirby"
  • Sam sells code for other developers to use on their websites
    • Doesn't want to deal with the actual credit card processing
    • Or poor installations by those developers
  • Self-hosted PHP-based solution
    • Sold as a subscription service
    • Sam would hold the code and provides the online webhosting


  • Using Stripe and Square


  • Sam provides the code, and can work it into the design of an existing web page


  • Had an idea to pool resources for pooled shipping, delivery, advertising


  • Sam started as a city planner, moved to a startup doing web development
    • Then, Sam bought a retail store (Full Circle Foods)
    • ...the inherited system is a series of linked spreadsheets :/
    • Full Circle has 90 suppliers. Seems a lot, but many are small, local businesses
    • Lots to be done digitizing the order system


  • Sam is part of the Kirby CMS community
    • Didn't have an ecommerce plugin, but there was an appetite for it
    • Working over three years to develop Shopkit with the Kirby developers
    • Kirby is a file-based PHP CMS (we like that)
      • Files are written in Markdown, still accessible if Web connection goes down
      • But there is a good GUI as well (good for marketers)
      • UI is decoupled from the data


  • Sam gives a quick tour of a sample installation on GitHub
    • https://github.com/samnabi/shopkit-sample-content/
    • Kirby has multi-language support, i18n, l10n
    • Also has categories, which Shopkit links to
    • It's a system of API hooks, launched from the plugin to Kirby
    • but Shopkit has all the templates for, eg. slideshows, created by Sam


  • Purchasing flow:
    • Select product, increase/decrease quantity, totals are updated
    • Uses AJAX, but the site is not Javascript dependent
      • Jeremy Keith is Sam's inspiration, he knows about good design.
    • There can be different shipping rules, different tax rates for different localities
    • Add personal details (name, e-mail)


  • Tour of the back end
    • Resetting passwords :)
    • Sam has tried to make it easy for front-end users
    • Adding products, adding categories
      • Products have variants with different prices, options that don't affect price
        • Small oversight: Options don't have different SKUs, no separate inventory
      • Changing the use of SKUs is not dependent on the purchasing process
    • A "Featured Product" is displayed in the sidebar
    • Feature request by developers: "Items Remaining In Stock"
    • Another request: Individual e-mails for restocking
    • Shipping Rules:
      • Can be different for all countries, one country,
      • Shipping rules UI created by Sam, but as part of the plugin (even though it shows in the Kirby UI)
      • Tax and shipping rules can be defined by the developer, but not through the WebUI
      • Sam take us for a deep dive into the shipping selection code


  • Reporting in Shopkit
    • Done from the Shopkit backend
    • Invoices are created by PHP into PDF files using "DOM PDF"
    • Report invoices are generated dynamically every time, but from a static "transactions" file
    • Added some widgets on the dashboard, eg. "Abandoned, Pending, Paid/Shipped"
    • There are also site stats based on another Kirby plugin


  • Payment Processing
    • Implemented at "gateways" in Shopkit
      • Each gateway has a "process" and a "callback"
    • Some processors (square) expect money values to be in cents
      • Performing only integer operations on cents seems to be best practice
    • There are thousands of processors, so Sam has created an open system for processor gateways
    • Payment processors provide an SDK for the gateway code
      • Each payment processor has its own API, unique for each installation.
        • This separates the payment processing from Shopkit itself, absolving Sam of dealing with payment issues


  • Testing
    • No formal testing methodology
    • Tries new code on a test site, Sam's own site
    • Most bugs are caught by end-users (developers)


  • Shopkit and Kirby aren't quite Free Software: Code is available for inspection, modification, but not necessarily for redistribution. But payment is on the honour system.


  • There have been 200 issues logged in the Shopkit issue tracker; most are from Sam himself.
    • Top question: Can I add Shopkit to an existing (Kirby) site?
      • Not really, Shopkit is a standalone application,
      • Shopkit is a good intermediate between a simple button, and a full-fledged e-commerce system.
  • Shopkit's changes to Kirby are mostly in the "snippets", which might conflict with another Kirby installation's snippets
  • Shopkit is a full point version behind the Kirby, always on the stable version.



Shopkit is a kit, a standalone, turnkey application


  • Kirby developer, Bastian Algere, is known for Zootool, and making a living off Kirby


Future Topics