Enhancements to private Shopify app
This is an app (called FastLand™ CellMaker) that helps companies insert rich content on Shopify product pages. Today it exists as a private app for a single customer. The plan is to eventually make this a public app. The app is hosted on AWS EC2, uses the Aurora database, and uses Ruby and React. All current code is on GitHub and available for your review.
The app embeds HTML content generated by our publishing system on Shopify product detail pages (PDPs). The content is contained within discrete blocks, which we call "cells". Cells are in turn grouped into "cell sets".
We have many templates for publishing content. Here is a link to a simple example of content as it is published, before it is embedded into Shopify: [login to view URL] The content is inserted into a Shopify product page via a snippet. The app searches the FastLand database (AWS Aurora) to see if there is content for that page handle. If the handle is found, it inserts the FastLand content at the snippet. Here is an example Shopify PDP showing that content below the description [login to view URL]
IMPORTANT NOTE: The app does not generate the HTML. The HTML and the accompanying css and image files are rendered by our publishing system (FastLand Publisher). This system runs on AWS EC2 servers and also caches the rendered files on EC2 servers. You do not need to know anything about how the publishing system works. It is a "black box" that supports the app.
We have several tasks to enhance this app. Below is a quick summary of the tasks. We have detailed specifications available for your review.
There are more tasks following these.
Task #1: Virtual Handles (Phase 1) —
We need a way to specify logical conditions for assigning cells sets to defined combinations of handles.
1. tag = "abc" AND tag = "def"
2. tag = "abc" OR tag = "def"
3. tag = "abc" AND vendor = "acme"
4. collection = "widget" AND producttype = "xyz"
Users will be able to define "Virtual Handles" (VH) that they can use in their cell set definitions, same as a regular handle. For example, suppose the user defines a VH per #1 above, and names it "All Safety". The user will then be able to make a row in the parameter of a cell set definition where "virtual" is entered in the left column, and "All Safety" is entered in the second column. The cell set will be assigned to all handles that satisfy the "All Safety" logical condition.
Budget: $1,000 - to cover costs of coming up to speed on the existing code and implementation of this task
Task #2: Update file validation and conversion - Today, the app accepts submission of an Excel spreadsheet with formatted specifications for cell sets. It validates the file and reports errors. It then performs some minor conversions and posts the file to the publishing system via an API call. This process needs several enhancements. Budget: $350
Task #3: Special purpose PDP sections — Some sections are specific to certain products. For example, a product page about a pump needs a "Spare Parts" section. A product page about a respirator needs a "Cartridges" section. These are called "Special Purpose" sections. These sections should not appear on all product pages. Special sections should appear only on product pages where a cell set is assigned to that page handle. We have the wrapper code that will accomplish this. It needs to be made part of the snippet. Budget: $250
Task *4: Virtual handles (Phase 2) — This will allow users to nest Virtual Handles to 3 levels. Budget: $500
Task #5: Handle report — We need a report that lists which cell sets are assigned to which Shopify handles. A virtual table will be required to make this report. Budget: $500