A qooxdoo application has a well-organized file structure. For an application named custom, everything is located within the application folder custom. Indentation denotes file system nesting:
Here is a bit more prose regarding this structure. Of the basic structure, every application/library must contain a config.json and a Manifest.json file in its top-level directory (In theory, you can deviate from this rule, but it's much easier to stick with it). From this directory, a source/class subdirectory is expected, which contains a name space subdirectory and some class files therein. All other subdirectories in the top directory are then created during generator runs ('build', 'api', 'test', ...).
The most important of these sudirectories is of course source since it contains your source code. Aside from the class/<name space> subdirectory it has to have a resource subdir (for icons, style files, flash files, etc.) and a translation subdir (for string translation files). All these are mandatory, but might be empty. During a 'generate.py source' a source/script directory is created which contains the generator output (basically a Javascript file that references all necessary class files, icons, etc.). This one has to be referenced from the application's index.html (usually source/index.html).
The build dir (created with 'generate.py build') has a very similar structure as the source dir, with script, and resource subdirs. The main difference is that everything that is necessary for your application to run is copied under this common root, and that the generator output script in build/script contains the actual class definitions, not just references to their source files. The build dir is therefore self-contained, and doesn't have references that point outside of it.
Create some vanilla skeleton apps with create-application.py located in tool/bin and look at their initial file structure, to get a feel for it. Tailor the source/class/<namespace>/Application.js as the main application class, add further classes to your needs, and let the tool chain take care of the rest. You will have to run generate.py source initially and whenever you use further classes in your code. You can try out your app by opening source/index.html directly in your browser. You simply reload to see changes in the code. If you are comfortable with that, run a generate.py build and open build/index.html in your browser. If that is fine, copy the whole build tree to your web server.