Quick Event is an orienteering event management application. On the competition day it is a key part of data collection and results lists generation. A typical Czech orienteering event has anywhere between 400 and 1500 runners whose data must be processed in approximately four hour long window at the competition site. This task demands reliable software as failures have potential for making large number of people irritated and damaging organizing club's reputation.

What has been done so far:

  • The original author ran Quick Event through Valgrind and Clang
  • I ran Quick Event with GCC Address Sanitizer without any crashes
  • I set up Coverity Scan for the project (https://scan.coverity.com/projects/quickbox)
  • Coverity didn't identify any severe bugs, most of the medium and low severity defects have been fixed

Overall assessment so far is that the project is in good shape in terms of reliability but the code in some places is ugly.

Next steps:

  • Use other GCC features to spot errors - Undefined Behavior Sanitizer, extra warnings
  • Create unit tests and start refactoring the worst looking parts of code (https://github.com/fvacek/quickbox/blob/master/libqf/libqfcore/src/model/sqltablemodel.cpp#L138, https://github.com/fvacek/quickbox/blob/master/quickevent/app/plugins/qml/Receipts/src/receiptsprinter.cpp#L300)
  • Document the code
  • After basic hardening is done, extend the functionality:
    • Allow processing event info from SI box backup memory readout
    • Support bar code / QR code tagged paper punch cards

Looking for mad skills in:

qt c++

This project is part of:

Hack Week 14

Activity

  • over 2 years ago: LPechacek added keyword "c++" to Hardening Quick Event
  • over 2 years ago: LPechacek added keyword "qt" to Hardening Quick Event
  • over 2 years ago: LPechacek originated Hardening Quick Event
  • Show History

    Comments

    Be the first to comment!

    Similar Projects

    Add sync. to AWS S3 support for ceph radosgw by abhishekl

    Basically $topic, as of the latest release of c...


    Improve C/C++ skills by pvorel

    I'd like to improve my C/C++ skills with contri...


    Radio Scope - Swiss Army Knife for Everything Wireless by duwe

    <p>WLAN, bluetooth, DVB, DAB, ... I'm not getti...


    Revive qemacs by dmacvicar

    qemacs is a nice emacs style editor by Fabrice ...


    Improve the Firebird Emu Experience on android by favogt

    [Firebird Emu](https://github.com/nspire-emus/f...