< GSoC‎ | 2018‎ | StatusReports

GSoC/2018/StatusReports/DemetrioCarrara

Progressive Web App for WikiToLearn

This project aims to build a tested, functional and production-ready PWA for WikiToLearn second development infrastructure iteration.

Work Report

A more detailed version of what has done and what has to be done in the near future is viewable here. I am writing a blog post every ~2 weeks to show what I've done and what's next, read them to know all of my work and my planned one.

Most of the work that has been done can be summarized as:

  • Vue components:
    • Pagination for API content
    • Loading spinner on api requests
    • Editor for courses metadata
    • Editor for chapters metadata
    • [WIP] Editor for pages content
    • Customizable banner
    • Reworked global error component
    • New autohiding snackbar
  • Views:
    • Updated Courses view with a WIP edit mode
    • Now we can update course's chapters order and course title
  • Tests:
    • Many new unit and integration tests running on karma and nightwatch
    • Replaced old PhantomJS
  • Configuration and build:
    • Upgrade to Webpack 4 (update all plugins configuration too)
    • Repeated builds now give all the same contenthash
  • Authentication
    • Refresh token automatically

I recommend you to read all my blog post to see all of work that has been done in these 3 months.

You can read below a summary of them:

I created new components to link UI to the API server: a component for viewing if there are active API requests, one for showing global errors, one for viewing autohiding messages or always-on-top banners, one for paginating courses view, one for viewing and moving elements in a list (to change chapters and pages order) and a beautiful UI for chapters and courses "edit mode".

On the test end I replaced old PhantomJS, wrote new unit and integration tests and prepared environment for automated test running.

Migration to Webpack 4 has been done successfully improving build time and size.


Blog posts

Repositories


This page was last edited on 17 August 2018, at 07:24. Content is available under Creative Commons License SA 4.0 unless otherwise noted.