Problem:
What is an efficient way to develop the Google Docs add-in?
How should it be developed and look like the other GILO app add-ins?
How can I create custom menus in Google Docs?
How can I add custom functionalities?
Creating the Google Docs Plugin was my initial assignment. Sadly, I did not have the time to finish it, but more about that in the next entry.
The beginning was usual - a literature study. This meant deeply reading the provided documentation for Google Apps Script (based on JavaScript, Google Apps Script is a language entirely purposed in building extensions, plugins, addons for any Google software - Drive, Sheets, and in my case Docs), provided by Google. The research also analyzed competitive software like 'Wordtune' and 'Grammarly.' The outcome of this research was a document with useful links and findings that could be helpful during development.
The first step was setting up a new document. However, coding the script itself was the first more complex task I stumbled upon this semester. At this point, I was also assigned a new technical supervisor who helped immensely with relevant guidance. Thanks to him, I was able to validate the quality of my code and fix destructive code prone to bugs. That was also the first time I had to use custom internal REST APIs, e.g.: 'terminology API' - it was a post request sending the selected by user word and returning all the information about it - definition, synonyms, antonyms, and similar words.
The code written is triggered on a press of a button fetches and displays all that the API returns about the selected in the custom task pane.
Results:
By the time I switched from the Google Docs Plugin to the Microsoft Add-in, Frank had verified that code written could serve as a solid foundation for further and more complex development - thanks to good use of good use and bad practices found in the research phase.
Link to document with attached script
Main Sources:
https://developers.google.com/apps-script/guides/menus
https://developers.google.com/apps-script/guides/dialogs
https://developers.google.com/apps-script/guides/html
https://developers.google.com/apps-script/guides/services/external