Technical management of system (Ming document)
Link: https://docs.google.com/document/d/1bLG-RkN9MwlO9ZFtQWn4dw-1Eb72phXXPOimJXMsHeM/edit
Admin
Workspace: Google Workspace
Subscription: Google Workspace for Nonprofits
To avoid unnecessary permission errors, we strongly recommend all employees use Google Chrome and add their Explorer Hop Google account to their Chrome profile.
Google Groups
Google accounts are for personal use only. For group email addresses, use Google Groups.
Inside collaborative inboxes, you can assign emails, mark them as resolved, and report spam.
P.S. Please always report spam for a cleaner inbox (and to punish spammers)
Company Phone
3 users with Google Voice Standard Subscription
- 1 unique number per user. 1 auto-attendant, 2 ring groups
Customized systems
- Certificate & report card generation and delivery after course completion. (Google Sheet with Google Apps Script. Email sent by learning@explorerhop.com. See the sheet itself & Apps Script documentation for details)
- Workflow: after course completion, the instructors fill in student details and feedback in a designated Google Sheet.
Customized certificates and report cards are then automatically generated and sent to the parent's email as pdf attachments. For privacy protection, all student's information will be moved to a private sheet after the certificate and report cards are delivered to them.
- Course booking (connected with our Shopify app Bookhop. See the Bookhop section for details). Note: use Event ID, not date or course name, to filter events. An Event ID maps a course at a specified date range & location.
- The automated population of course orders to Google Sheets is made possible with the Shopify Flow app. The corresponding workflow is “Bookhop orders”.
- Course bookings can also be viewed inside the Bookhop app, but Shopify has a rate limit over the number of past orders that can be displayed
Website
Built with and hosted by Shopify, all changes will be made on the Shopify admin.
Note: Shopify subfolders feature is heavily bugged. Do not turn this feature on.
All courses are listed as virtual products on Shopify. Please pay attention to the course location, type, and theme template.
- “Booking” theme template for all our live courses
- “Thinkific” theme template for all our self-learning courses
- Default theme template for all our other products
Detailed order info and customer info are also stored on Shopify.
Product metafields
Tutorial on Shopify metafields: https://help.shopify.com/en/manual/custom-data/metafields
Booking products
Learning objectives + Scouts Canada are mandatory. “What is the app…” and “Duke of Edinburgh” are meant to be binary. Fill them in if the course has Duke of Edinburgh or App, and the collapsible will be auto-generated. Else leave it empty.
Self-learning products
Learning objectives are mandatory. For everything else please leave it blank.
Shopify theme
- The fastest (and best) way to increase website speed is to upgrade to the newest theme release.
- Current Shopify theme: Venue version 8.0.0
- For simple UI changes to our website, please contact the graphic design team
Customization
The theme code was changed for:
- Variant-specific subscription
- Google Maps embed, created with Google My Maps.
- Booking form
Marketing
Our Shopify store is integrated with Google, Facebook, Instagram, and Mailchimp middleware for analytics and marketing.
- Ads platform: Google (search ads only), Facebook, Instagram
- Email marketing: Mailchimp
- All our middleware connections are done via the corresponding Google/Facebook & Instagram/Mailchimp Shopify apps (example below). Please only make connection changes inside those apps.
Shopify apps
Generic guide on how to install and open Shopify apps.
Generic guide on building apps on Shopify
Repositories: https://bitbucket.org/mingexplorerhop/workspace/repositories
- Both apps we built are used by ourselves and listed as free Shopify apps for other merchants to use, using the latest available tech stack.
- Both apps have theme app extensions
- Details of both apps can be found on the corresponding app listing.
- Apps are listed via Shopify Partners.
Currency Hop
Automatic currency and country conversion for Shopify stores.
Framework/Template: Shopify app Node.js + Shopify Polaris (React), hosted on Heroku
The app has two theme app extensions: a selector and a converter. Both are app embed blocks.
Detailed usage can be found after app installation.
- Usage for our own store: open the app, and activate the currency converter. We do not need the selector (we have a currency country selector that comes with our theme) and all the Shopify market settings (markets, rounding rules, etc) are already set.
Bookhop
Appointment booking with Google Calendar. See app usage guide for details.
App has one theme app extension: the Booking form, an app block.
Framework/Template:
- Shopify app Next.js + Shopify Polaris (React) - Shopify end, hosted on Heroku
- Django + Bootstrap - Google Calendar end, hosted on Google App Engine
Investment Challenge
Repository: https://bitbucket.org/ikolodkin10/investmentchallengegame/
Hosting: Google App Engine
Framework: Django, Bootstrap jQuery
Full walk-through of the system, user-end
Admin end for managing students and trading competitions: Contact tech for logins and permissions.
- Walkthrough of the admin system
- Accounts are automatically created/updated and added to challenge groups for all Camp Millionaire course purchases
Self-Learning Courses
Our self-learning courses are hosted on Canvas.
URL: https://explorerhop.instructure.com/
Course enrolment is connected with Shopify purchases webhooks via https://challengeexplorerhop.uk.r.appspot.com/admin/webhooks/producttocourse/
How to link: click on “ADD PRODUCT TO COURSE”. Find the canvas course id and its corresponding Shopify variant ID.
Investor Hop
Repository: https://bitbucket.org/csalexiuk/stockdate/src/main/
React.js frontend + Django REST backend
Functionality is quite self-explanatory with the UI