This is straightforward to do by just using a different path as name within the zip file using the AddEntry AddFile methods.
Robust solution - process zip file by entries and then extract/zip by using substituted path (which can be actual path of file, which you can put in the temporary folder before zipping or copy to needed location after extracting). The original path of files can be saved as text and then stored in the zip too (as it will anyway will have your designated structure, so you can reserve let's say "extract. Txt" file to store original file location for extracting).
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.