Designing a "mostly ChatGPT-proof class" is in my opinion actually rather simple: just be inspired by the German university system:
Each week you have to complete exercise sheets which are often hard. But being capable of solving a certain quota of the exercises is just the beginning: this only qualifies you for being allowed to take the actual (oral or written) exam.
In this sense (as many professors will tell you), the basically sole purpose of the quota for solving (often hard) exercise sheets is actually preventing students from the "self-inflicted harm" of doing an exam that they are not yet prepared for.
And yes: while it is forbidden to "cheat" (e.g. ChatGPT) on your exercise sheets, this policy is typically not strongly enforced (you will nearly always just get a unequivocal, strongly worded oral reprimand by the tutor). Instead, if you did this, you will for sure not be prepared for the upcoming exam, and flunk it (and most students are very aware of this).
Oh yeah, I didn't mention yet that if you flunked the same exam typically 3 times (depending on the university), you have "finally failed" (endgültig nicht bestanden), and are not allowed anymore to study the same degree course at every German university.