Advanced Java course final project