Das grosse Übungsbuch
This book offers a learning "triathlon" for German school children but is also an excellent resource for upper-intermediate German language learners.
As well as offering reference notes and exercises for all areas of grammar, the book supports learners to explore different types of written texts and strategies for reading them, as well as structuring them.
In German throughout.
GE GRAM 31 Open access