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 hackers with the skills:
qt c++
This project is part of:
Hack Week 14
Activity
Comments
Be the first to comment!
Similar Projects
Make Ruqola Rocket.Chat client useable / submit to openSUSE Tumbleweed by zbenjamin
Update: Ruqola ('zypper in ruqola') is now in T...
Hydrogen Drum Machine: export to hardware drum machine by dmacvicar
Hydrogen is a soft...
Properly package Quick Event orienteering management software by LPechacek
It ain't rocket science, it ain't thrilling, it...
Rewrite transactional-update in C++ by fos
transactional-update, the application to up...
SMT solver for AWS Policy decisions in ceph RGW by abhishekl
Currently AWS uses a SMT solver to decide on pu...
HelenOS: <filesystem> of a down by jjindrak
During the previous Hackweek [0], I have succes...
Port some classic game to Linux by MDoucha
Let's pick some old classic game, reverse engin...