Help me with my first very basic plugin

I have already answered this question stackoverflow, but adding the answer here as well:

Looking on the code it does not seem like the WordPress way of doing this kind of thing.

First you need to include your ajax-process.php in the plugins main file e.g:

require_once plugin_dir_path(__FILE__) . '/ajax-process.php';

Second, you need to register your ajax callback like this:

add_action('wp_ajax_my_ajax_action', 'my_ajax_function');
add_action('wp_ajax_no_priv_my_ajax_action', 'my_ajax_function');

Then register the ajaxUrl in scripts_files_enqueue_scripts() so it accessible from your javascript. The admin-ajax.php file handles all ajax requests:

wp_localize_script(
   'js_file',
   'ajax',
    array(
      'ajaxUrl' => admin_url('admin-ajax.php'),
    )
);

Then in your javascript you need to use the ajaxUrl and specifying the action which will tell WordPress which callback should be triggered:

jQuery(function($) {
  $('body').prepend('<button class="btn" type="button">PULL DATA</button>');

  $('button.btn').on('click', function() {
    $.post({
        url: ajax.ajaxUrl,
        data: {
          req: '',
          action: 'my_ajax_action',
        },
        success: function(data) {
          alert(data);
        },
        error: function() {
          alert('error');   
        }
    });
});

Here is a good article AJAX in Plugins, explaining how to use ajax in a plugin.