Skip to content

Performance Hero

Wilson Kurniawan edited this page May 22, 2022 · 7 revisions
  • Priority: High
  • Knowledge required: Back/front-end development, database optimization and tuning, web page performance optimization
  • Status: Open, Recurring

Improve TEAMMATES performance for operations involving bigger data sets (e.g. bigger courses and/or bigger sessions with many questions).

In particular, ensure that TEAMMATES can handle large classes, large team sizes, and a high number of questions in a session. As of now (end of 2020), a session with 10 teams having 10 members each and 20 team questions can cause TEAMMATES to run into performance issues.

The performance gains should be significant and worth the additional complexities (which should also be minimized).

  1. Optimizing queries to the database so that reads/writes are minimized.
  2. Using incremental/paginated page loading to reduce page loading time and reduce server timeouts.
  3. Using incremental/paginated data loading to reduce memory usage on server side.
  4. Using task queue workers where appropriate, e.g. when the result of an operation does not need to be immediately available.

The project can concentrate on either back-end or front-end, or tackling both concurrently.