Difference between revisions of "Web Stores and Shopping Carts"

From SOBAC Wiki
Jump to navigation Jump to search
(Meeting Notes)
(Remove Resources (add to Meeting Notes page))
 
(4 intermediate revisions by the same user not shown)
Line 13: Line 13:
 
--Marc Paré & Bob Jonkman  
 
--Marc Paré & Bob Jonkman  
  
==== Resources ====
+
* [[Web Stores and Shopping Carts/Meeting Notes 2018-07-16]]
* [https://shopkit.samnabi.com/ Shopkit by Sam Nabi]
 
* [https://www.techsoupcanada.ca/en/shopify-donation-for-lower-budget-organizations/product/advanced-shopify-plan-6-month-initial-subscr Shopify from TechSoup Canada]
 
 
 
 
 
==== 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
 
 
 
* Sample sites:
 
** an indiegogo type site: https://coblisher.com/shop
 
** retail business: http://gourmetpassions.ca/kirby
 
 
 
 
 
* 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.
 
 
 
 
 
* Order file
 
** A YAML file that builds up as order information is entereed
 
** Based on server's session ID (uniqueness?)
 
** File locking? Kirby has some file locking built in
 
** Sessions are now the same across tabs, but that may break with new Chrome tab isolation
 
 
 
 
 
'''Shopkit is a ''kit'', a standalone, turnkey application'''
 
 
 
 
 
* Kirby developer, Bastian Algere,  is known for Zootool, and making a living off Kirby
 
 
 
 
 
 
 
 
 
[[Category:KWNPSA Meeting Notes]]
 
 
 
 
 
==== General Business ====
 
* SysAdminDinner -
 
 
 
 
 
 
 
==== Future Topics ====
 
* See [[KWNPSA Requested Topics]]
 
* Need a topic for Monday, 20 August 2018 (Bob can't do I2P)
 
** [[Scripting Languages]] - August
 
** [[Purchasing and Procurement]] - September with Kris Braun
 
** [[Training]] - October
 
 
 
 
 
  
  
 
[[Category:NPSA]]
 
[[Category:NPSA]]
 
[[Category:Events]]
 
[[Category:Events]]

Latest revision as of 03:14, 19 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