You can integrate your own WYSIWYG editor into the front end app - this is fully in your hands. You can use e.g. Froala editor. The same for the file upload - there are no components nor documentation available for this custom need. Just a note - WYSIWYG editor on the live site is a huge security risk.