## 6 Proposal  
### Working System  
The present work is a continuation of our previous work [45]. The main purpose of the proposed system is three-fold: (1) increase the learning outcomes of learners by the creation of an environment that is engaging, motivating, and efficient; (2) deal with the equipment insufficiency problem that almost all Moroccan educational institutions suffer from; (3) increase the rate of using new technologies in education inside the educational institutions. The architecture of the proposed system and the technologies involved are shown in Figure 3.  
In this architecture we adopt a back-end solution to separate our system into distinct sections. Our system consists of four parts:  
* Android app: This is an Android application used by the learner. The main role of this application is QR code reading, 3D object display, and communication with other system components. * Web app: This web application is reserved for the teacher. Through this application, the teacher can create a pedagogical scenario to lead the learner to achieve the learning objectives. The web app typically includes the HTML, CSS, and JavaScript that creates pages, menus, buttons, and everything else that forms the basis of what the teacher sees in his/her web browser. Figure 3: Overview of our approach. * Databases: The proposed architecture uses two databases, one that contains 3D objects and the other that contains the learner's profiles. This second database is used by the teacher to generate tailored pedagogical scenarios. * Back-end sever: The back-end server allows the communication between all the components above. Its main role is to verify information via the back-end databases, and the relevant information is then presented to the user (learner/teacher). It is built using Java EE, Java, and Spring codes. The proposed architecture is the result of the confluence of IoT and VR technologies. This environment is based on the simplest VR form: A non-immersive VR application. It is a set of 3D objects that can be manipulated and explored interactively from a personal smart device. The content of the 3D object can be moved in different directions and zoomed in or out. Using the proposed system, learners can interact and manipulate both physical and virtual objects. Each one of the physical objects is associated with a 3D object. Physical objects can be marked using two kinds of visual tags: NFC (Near Field Communication) or QR code (Quick Response code). We choose to tag the physical object with QR code, because it is free and very easy to use. QR codes used in the experiment were made using the free tool: [[https://fr.qr-code-generator.com/](https://fr.qr-code-generator.com/)]([https://fr.qr-code-generator.com/](https://fr.qr-code-generator.com/)). Once the QR code is read, it delivers information instantly. This information may be of a very different nature: link to a web page, displaying text or an image, playing a sound, or a video. It is necessary to have a phone or tablet with a camera and an application that reads QR codes. The flowchart of the QR code reading process is shown in Figure 4.  
When the learner brings his/her handheld device near the physical object and scans the QR code, the \"reader\" decrypts data included in the QR code and sends them to the \"3D object management  
Figure 4: Flowchart of the process of reading a QR code. interface\", which sends these in turn to the \"back-end\" server, which checks the received data. If the data match the details of a 3D object stored in the \"3D objects database\", then the \"back-end\" server loads the 3D object in JSON (JavaScript Object Notation) format. Afterwards, the 3D object (JSON file) is delivered by the \"back-end\" server to the \"3D object management interface\", which displays the 3D object on the learner's screen using a graphical user interface. At that moment, the learner can manipulate the 3D object and see all details, the usefulness, and the information related to the object.