Skip to content

Instantly share code, notes, and snippets.

Last active August 23, 2021 01:21
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?

Mengan Wang

Google Summer of Code 2021

Organization: Project WikiLoop

Project: Tibetan Spellchecker

My task was to develop a MVP for a Tibetan Spellchecker, implementing features like autohighlighting, accepting spelling suggestions, and creating a markdown text editor.

Outcome of Contributions:

  • Accepts spelling suggestions from back-end API.
  • Optimized accepting suggestions for long text.
  • Integrated back-end spellchecking API with front-end.
  • Implemented markdown spelling editor using TipTap.
  • Autohighlighting spelling errors.
  • Implemented Loading indicator when API is called.
  • Updated front-end look to appear more similar to Grammarly.
  • Made front-end responsive to different screen-sizes.
  • Integration with Quasar CLI.
  • Upload text to text editor.
  • Download edits as docx format.
  • Developed front-end unit tests for various components using Jest.
  • Created preliminary back-end tests with pytest.


Overall Thoughts:

I thought that this coding period was really educational and I got to learn a lot about front-end development! My favorite part was when I finally got my function to accept suggestions to work, because my original implementation was very inefficient where it would always reconstruct the contents from scratch everytime I accepted a change. For the optimization I spent more time thinking and planning how I would implement it, which made me realize coding is a very creative endeavor.

Integrating different components was very tedious and difficult. For the front-end and back-end, I kept getting CORS errors. When it was decided to use Quasar for our project, I think I spent way more time than necessary trying to implement unit tests while I was coding. There was very little documentation on integrating Jest and Quasar, which caused me to waste a lot of time through trial and error. Finally, figuring out how packages interacted with each other was a challenge too. Our project initially was using Vue2, but for Quasar integration I had to change the code to Vue3 and from that the unit tests stopped working which then I proceeded to try and fix. I spent too much time in package.json and fixing babel config files.

Overall, I learned a lot of lessons about thinking before I start coding and I'll continue working on features until the end of my summer!

Future Tasks:

  • Suggestions and typing scroll wheel.
  • Clicking on a spelling error will automatically scroll wheel and emphasize the corresponding suggestion.
  • Further optimize Spellchecking API by making it send in single words/sentences at the time to keep processing while typing.
  • Be able to create accounts and save content in browser (potentially).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment