Everytime I save a project it comes with 0KB. When I zip it and try to open, the programs cannot read it
It is a bit confusing, agreed. The .chproj file does *not* contain your project files. It is always zero sized. Alongside the FOO.chproj file you will find a FOO/ directory. All the files are in that. The .chproj file gives you something to double click on, then it looks for a directory with the same name to find the files in. So ZIP up FOO and FOO.chproj and share that if you need to (e.g. for backups).
What is FOO?
Whatever your project name is. The directory name is the same name as the project file without the file extension. So if you rename the .chproj file you have to rename the directory as well.
As a bit of explanation, it is common in programming circles to use "foo" as a placeholder for anything that the user might be inserting. Think of it as yourprojectname.
The color-bars shown above indicate that Ch can't find the footage where it used to be. You can select the puppet in the project and the path it's looking for will show up in the Properties panel. Click on that path to tell Ch where the file has moved to.
Or, before you zip up the entire project folder you can use File > Copy Media Files into Project Folder to bring in all artwork or audio files that aren't already inside the Ch Media folder. Then quit Ch and zip the project folder. This way the zip file will be self-contained and Ch on any other machine should find the files right away when you open the project.