This week, I prepared and practiced for my presentation of the Design Review, and continued implementation of the web application.
Static Updates: I removed AJAX for displaying on the modules page, because after reviewing the design, it is not necessary to update the modules page in real time. I added features such as navigating between modules, updating the user interface, and ensuring only the information for a given module was displayed on the page.
Images: I worked on implementation of adding images. First, I added a “page image” field in edit-modules, and had it display using AJAX. However, I have not figured out how to display the image itself using AJAX, though the user can upload images that are sent into the database and saved. I also got the uploaded image for modules to properly display on the module page. For example, for module 1, this is the current page.
Next, I worked on being able to add images within the content blocks, rather than just an overall page image. This is a trickier task, because the content blocks are added into the edit pages using inner HTML and updated with AJAX, so I cannot pass forms through the context and have them update properly when I pass the images this way. This makes it slightly different to create user inputted images and have them update with AJAX in the edit-modules, so I am still experimenting with solutions on how to do this. I have been doing research and looking online for how this might be possible, and I believe that I am close and it should be completed for next week. After that, I will be working on quiz exercises to be easily added in the module. This seems easier to do, as it will not require a file upload which is the main problem with the images so far.
Experiments:
I also worked on updating the UI and edit-experiments page, and have been planning my design for how I will implement exercises and animations. I have been looking into using REACT for animations, because I believe they will provide smooth and interactive animations for the experiment page.
I also discussed with Shizhen and Mudit further details about implementation, and how we will update the database using an arduino-python module, since this project is run on python anyway. This should provide a smooth integration experience.
Overall, I believe I am on schedule. I had some slight hiccups because the image implementation took longer than expected and has been slightly more challenge than I thought, but I will work to catch up next week and over spring break so the web application can be prepared for integration as soon as possible.