Hive is a shopping network were the online buyer can subscribe and receive discounts on their purchases from different online stores under the network. This discounts can be exchanged form one site to the other, sharing the amount between friends and different sites.
For this project we have published an extension on Magento and Shopify platform.
The client approaches to us to be able to validate the work done so far on the platform and to extend the platform to other e-commerce platforms. The platform was integrated with Shopify and wanted to validate the platform to be approved as an official Shopify store application and extend the platform to Magento based stores.
The network have 5 essentials parts that need to work correctly between them so everything can work:
- Backend API
- Merchant Site
- Shopper Site
- Shopify Integration
- Magento 2 Application
Development and testing phase
We received different applications from the client to make improvements on them and validate that works as expected with the changes added afterwards.
The system has an API that is in charge to keep the data of all the transactions, stores and integrations and make them work together. This API was implemented on ExpressJS and had the storage implemented on MongoDB.
This API was checked and updated to include the new functionalities for the Facebook integration, Shopify Payment API, Magento 2 module integration and the small enhancements added to the frontend applications. Also validated the Twilio integration for the mobile application, added the cross-domain storage specific elements.
Merchants Front end applications
The network includes an application created with EmberJS that enabled the Merchant to administer the different shops registered on his network.
We have validated that all was working properly and but also enhanced the workflow for the login, registration from the different online stores when they install the extensions and applications. We also validated that the payments where made correctly and integrated the changes needed to make the payments through the Shopify Payment API when necessary.
Buyers Front end application
The network had his own application where the buyers subscribed to the Hive network can manage the credit earned, see how much credit each transaction granted and make the exchange between the different stores. We were on charge on make small improvements to the styles, enhance the Facebook login and add the help section of the application.
Validation of the Shopify Application
The system allows to integrate the platform with your Shopify Store allowing you to automatically add the platform specific plugin on your store installing the network application on you free or premium application. We enabled the application to work with the Shopify store as expected and carried out the approval process making all the required changes to make the Hive Shopify store application ready for production.
This process includes the generation of an script for the Shopify store that interacts with the user on the store front page, the integration with the Shopify API to receive and generate the discounts required by the user and interact with the checkout.
On the process of approval, the system added the ability to make the fees payment from the merchant to the Hive network through the Shopify Payment API. See https://apps.shopify.com/hive-1
Magento 2 Custom Extension
We have developed a Magento 2 extension from scratch that allows to the online store to be integrated under the Hive network. This extension displays the Hive interface for Magento's shopper, generate the discount coupons and process the earned discount and fees for the merchant when a new order checkout is completed.
We had to validate the code based on the standards for Magento 2 platform and get approval from the Magento team in order to have release the application to be ready for Magento 2 store. See official directory here https://marketplace.magento.com/hive-hive-merchant-magento.html
This type of network requires that any on line store that is subscribed to the network enabled the auto-recognizing of the user that is browsing to know if it’s part of the Hive network and display the available discount on the store, the amount of friends that buy on this store without to login on each store to the Hive network. To make this possible we enhanced the applications to use the Cross-domain storage allowing to have automatic login for the hive network on different stores, which are on different domains.
- Amazon AWS: Amazon Web Services (AWS) is a subsidiary of Amazon.com that provides on-demand cloud computing platforms to individuals, companies and governments
- Shopify: its computer software platform for online stores and retail point-of-sale systems.
- Magento: open-source e-commerce platform written in PHP.
- ExpressJS: Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications.
- MongoDB: MongoDB is a free and open-source cross-platform document-oriented database program. Classified as a NoSQL database program.
- Mongoose: Elegant MongoDB object modeling for Node.js
- Braintree: Payment gateway to make credit card payments.
- Jade: Jade is a templating engine, primarily used for server-side templating in NodeJS.
- CORS: is a mechanism that allows restricted resources (e.g. fonts) on a web page to be requested from another domain outside the domain from which the first resource was served.
- GraphQL: GraphQL is a data query language developed internally by Facebook. It provides an alternative to REST and ad-hoc webservice architectures.
- AmazonS3: Amazon S3 is a web service offered by Amazon Web Services that provides storage through web services interfaces.
- Amazon EC2: Amazon Elastic Compute Cloud forms a central part of Amazon Web Services, by allowing users to rent virtual computers on which to run their own computer applications.
- Twilio: is a cloud communications platform as a service that allows software developers to programmatically make and receive phone calls and send and receive text messages using its web service APIs.
- Bower: A package manager for the web assets and elements.