You have never read the WP documentation?
Create any template and form and when submitting the form it could be
Example:
$args = array('post_type'=>'post', 'post_title'=>'your title', 'post_status'=>'publish', 'post_content'=>'post content');
wp_insert_post ($args);
This will allow any post page or custom post type to insert the post