Course project for CS428: Software Engineering II @ University of Illinois Urbana-Champaign