This task is used to track progress on Kaidan adaptation for the programming contest management tool use case.
ICPC (The International Collegiate Programming Contest) is an algorithmic programming contest for college students.
NEERC Chat is an extended XMPP client that is used by the Technical Committee and volunteers to manage NEERC and other programming contests.
- The currently used chat was originally developed in 2009 in Java using the Smack XMPP library. It has been maintained since then but looks quite dated.
- As smartphones became more popular, the second client was developed for Android. It shares some base code but is still another codebase to maintain.
- Besides, half of the volunteers have iOS devices and cannot use either of these clients.
- From the Kaidan perspective, this can potentially open the project to new contributors with a strong academic background.
Due to its cross-platform nature, Kaidan could fit nicely into this use case.
Original source code
NEERC Chat consists of:
- An XMPP backend based on Smack library with MUC and file transfer support
- Custom extensions for the contest timer (integrated with PCMS2 system) and task management (various sorts of tasks for hall volunteers based on yes-no / progress / response statuses)
- Custom plugins for the Openfire XMPP server that implement the server side of these features
- 2 user interfaces
My goal is to use implement the custom features as plugins to avoid maintaining a fork of Kaidan (or at least do with a minimal set of patches).