## Instructions You are required to implement a single page application that allows user to add text and image into canvas. ## Features Below are the basic features for the application: - user can see the existing images from folder `images` to the images list - user can *upload image* to folder `images` and directly added to images list - user can *add image / text* from the menu to the canvas - user can *move and delete the image / text* inside the canvas - the created objects on canvas can be saved and repopulated on refresh browser You may refer to Piktochart Editor page of how this test should look like. ## Resources You will be given a HTML and CSS file with simple structure, and a server that allows you to upload and retrieve image. Instruction on how to run the server is included below. ## Requirements Here are the expected requirements: - App should have the features listed [above](#features) - App should work on modern browsers (Chrome / Firefox) - App logic and data flow are written in a functional and reactive programming concept Separate the logic between application data state and template view / user interactions (unidirectional data flow). - Use libraries as less as possible, If you need to use libraries, we recommend vueJS (or any virtual DOM library), RxJS (or any streams library), Ramda (or any FP library). Other than that, feel free to use other libraries that you're confident of. For moving item inside the canvas, try your best to do it natively. _note: use native HTML element `