Resto school project resto self-checkout system spaghetti to do (maybe) nickname change exception handling undo option discount codes secret dev menu