02. Architecture
This project has developed a marketplace for users to securely buy and sell goods in the internet by having the Cybmall entity as an intermediary on purchases.
2.1 Glodcoin Conversion Process
There is ease in doing business with Glodcoin. By simply scanning the QR code that can be found in Gloidcoin’s official website, you will be automatically directed to your Ethereum Wallet and signs in to a smart contract blockchain. Under ethereum, you just have to move a minimum of 1 coin to the Cybmall Glodcoin Wallet that is equivalent to 1000 Glodcoins. Simply convert your Glodcoins in your Credit Wallet to start buying or selling items in Cybmall.
2.2 Front-end Design
The front-end design is architectured in a way that it's lightweight, easily scalable, and uses a MVVM architecture (Model–View–ViewModel) which makes it quite easy to handle HTML blocks. The progressive javascript framework called VueJS is used to powered this architecture that has an incrementally adoptable ecosystem that scales between its pre-existing libraries, and full-featured framework. The strength of this framework gives developers a leverage to share a single app, router, and store from the global directory to share requests. It creates a factory of functions applicable throughout the architecture. This build is necessary for both client side and server side to synchronize the functions.
Cybmall will adopt Vuetify which has 8 pre-made Vue CLI templates, 3 which are forked from official Vue.js templates, and built on top of VueJS framework. They contain modifications that will help the marketplace get started even faster. A vast community supports Vuetify which makes it a stronger approach in developing this front-end design.
2.3 Back-end Design and Security Level
The back-end design is based on a very strong and optimized Django Python programming Language. This framework can connect to the large number of third party applications that exist, further accelerating an already quick development process. Combining it with REST API will give the Cybmall faster processing of transactions, and the leverage to handle high web traffic.
In terms of security, Django's template system protects the project against the majority of XSS attacks by escaping specific characters that are "dangerous" in HTML. The framework is composed of middleware that passes through several layers making it a secured processes when doing an HTTP Request, and getting the HTTP Response. Any malicious activity is detected in the process, and blocked by its top most security Middleware.
2.4 Server Hosting
The hosting server is built on Amazon Web Server to ensure a scalable environment for the increasing users of the CybMall. It is proven that such architecture is cost effective, and easily manageable as the database increases. Hourly automatic backup is also guaranteed in the process to prevent any loss of data. In phase two, the project aims to apply mirroring on its server to establish local servers in key locations around the globe to avoid any downtime.
2.5 Cybmall Intermediary
Cybmall allows safer payment by securely holding the buyers credit in its Cybmall entity until the terms of sale are met, and the buyer sends the item. It uses an arbiter based system, whereby the arbiter act as trusted third party between the buyer and the merchant for the product in the marketplace.
If the merchant does not ship the goods, then the arbiter refunds the buyer. The feedbacks and star rating system should give a good idea to the seller on the history of the buyer. When a merchant is flagged by the seller for bogus transactions, Cybmall arbitrates and applies necessary penalties to such merchants.
2.6 Chat function
Sellers can directly chat with buyers using the chat function in the marketplace. A project called Django Channels is used in the marketplace which allows Django to support WebSockets in a way that’s very similar to traditional HTTP views. Channels also allow for background tasks that run on the same servers as the rest of Django. HTTP requests continue to behave the same as before, but also get routed over channels.
2.7 Virtual Reality
VR devices(such as Oculus, Cardboard, Tango etc) can be used to give an ultimate shopping experience to the users of Cybmall. Unity3D is the platform used to create a 3D map of the marketplace in which all merchant stores are assigned specific coordinates based on their addresses. A user can shop in any city of their choice as they navigate through a dropdown list mapped out by the Cybmall Team. In cases the user does not have a VR device, they can get a similar experience on their browser as the 3D map is accessible on the browser.
Interesting.. Hmmm