User submitted post

You can create your form, submit it to PHP_SELF, sanatize your data and finally run your data through wp_insert_post() Function. You should be able to research everything else to achieve what you’re looking for but this will get you started. Good luck!