Have a look at EXPDP. This can lead to the complete export of all objects (with or without data) in the schema.
If this is a pretty “simple" scheme (without exotic objects and dependencies), you could script something based
SELECT DBMS_METADATA.GET_DDL(object_type, object_name) FROM user_objects
source
share