title: "Page not found" first plugin for OctoberCMS
body: <p>I'm working on the backend side of a plugin and I'm having some issues getting it to work. I created all the plugin needed files, models, register things and so on but any time I try to access backend URL as per example <code>http://alomicuba.dev/backend/alomicuba/balancerecharge</code> I get a 404 error and I don't know what I''m doing wrong. This is the code on <code>/plugins/alomicuba/balancerecharge/controllers/balancerecharge/BalanceRecharge.php</code> file:</p>
  
  <pre><code>&lt;?php namespace Alomicuba\BalanceRecharge\Controllers;
  
  use Flash;
  use BackendMenu;
  use Backend\Classes\Controller;
  use System\Classes\SettingsManager;
  use Alomicuba\RechargeBalance\Models\Settings as BalanceRechargeSettings;
  
  class BalanceRecharge extends Controller
  {
      public $implement = [
          'Backend.Behaviors.FormController',
          'Backend.Behaviors.ListController'
      ];
  
      public $formConfig = 'config_form.yaml';
      public $listConfig = 'config_list.yaml';
  
      public $requiredPermissions = ['balancerecharge.*'];
  
      public $bodyClass = 'compact-container';
  
      public function __construct()
      {
          parent::__construct();
  
          BackendMenu::setContext('Alomicuba.BalanceRecharge', 'balancerecharge');
          SettingsManager::setContext('Alomicuba.BalanceRecharge', 'settings');
      }
  }
  </code></pre>
  
  <p>And this is the <code>Plugin.php</code> code:</p>
  
  <pre><code>class Plugin extends PluginBase {
  
      /**
       * Returns information about this plugin.
       *
       * @return array
       */
      public function pluginDetails()
      {
          return [
              'name' =&gt; 'Balance Recharge',
              'description' =&gt; 'Plugin that allows users to recharge theirs balance through the PayPal payment gateway',
              'author' =&gt; 'Dynamo Technology Solutions',
              'icon' =&gt; 'icon-credit-card'
          ];
      }
  
      public function registerNavigation()
      {
          return [
              'bradmin' =&gt; [
                  'label'       =&gt; 'Balance Recharge',
                  'url'         =&gt; Backend::url('alomicuba/balancerecharge/balancerecharge'),
                  'icon'        =&gt; 'icon-credit-card',
                  'permissions' =&gt; ['brecharge.*'],
                  'order'       =&gt; 500,
  
                  'sideMenu' =&gt; [
                      'brecharge' =&gt; [
                          'label'       =&gt; 'Balance Recharge',
                          'icon'        =&gt; 'icon-credit-card',
                          'url'         =&gt; Backend::url('alomicuba/balancerecharge/balancerecharge'),
                          'permissions' =&gt; ['brecharge.*'],
                      ],
                  ]
  
              ]
          ];
      }
  
      public function registerSettings()
      {
          return [
              'settings' =&gt; [
                  'label' =&gt; 'Balance Recharge PayPal Configuration',
                  'description' =&gt; 'Manage the settings for Balance Recharge.',
                  'category' =&gt; 'AloMiCuba',
                  'icon' =&gt; 'icon-cog',
                  'class' =&gt; 'Alomicuba\BalanceRecharge\Models\Settings',
                  'order' =&gt; 100
              ]
          ];
      }
  
      public function boot()
      {
          \App::register('Barryvdh\Omnipay\ServiceProvider');
          \Illuminate\Foundation\AliasLoader::getInstance()-&gt;alias('Omnipay', 'Barryvdh\Omnipay\Facade');
  
          UserModel::extend(function($model){
              $model-&gt;hasMany['payment'] = ['Alomicuba\BalanceRecharge\Models\Payment'];
          });
  
      }
  
      public function registerComponents()
      {
          return [
              'Alomicuba\BalanceRecharge\Components\Payment' =&gt; 'Payment'
          ];
      }
  
  }
  </code></pre>
  
  <p>I'm missing something here?</p>