diff --git a/resources/views/pages/settings.blade.php b/resources/views/pages/settings.blade.php
index 0ce14f03..91652a8c 100644
--- a/resources/views/pages/settings.blade.php
+++ b/resources/views/pages/settings.blade.php
@@ -264,6 +264,31 @@
+
diff --git a/routes/affiliate.php b/routes/affiliate.php
new file mode 100644
index 00000000..1badb6b7
--- /dev/null
+++ b/routes/affiliate.php
@@ -0,0 +1,14 @@
+ 'affiliate', 'as' => 'affiliate.'], function () {
+ Route::get('/settings', 'Affiliate\GetAffiliateSettingsController@get')->name('settings.get');
+ Route::post('/settings', 'Affiliate\UpdateAffiliateSettingsController@update')->name('settings.update');
+
+ Route::get('/list', 'Affiliate\ListAffiliatesController@list')->name('list');
+ Route::post('/create', 'Affiliate\CreateAffiliateController@create')->name('create');
+ Route::put('/update/{id}', 'Affiliate\UpdateAffiliateController@update')->name('update');
+ Route::delete('/delete/{id}', 'Affiliate\DeleteAffiliateController@delete')->name('delete');
+});
+
diff --git a/routes/api.php b/routes/api.php
index fcd98961..cd32cd92 100644
--- a/routes/api.php
+++ b/routes/api.php
@@ -77,6 +77,8 @@ Route::group(['middleware' => 'api', 'prefix' => 'v1', 'as' => 'api.'], function
require __DIR__ . '/export.php';
require __DIR__ . '/setting.php';
+
+ require __DIR__ . '/affiliate.php';
// require __DIR__ . '/rate.php';
// require __DIR__ . '/receipt.php';
diff --git a/routes/web.php b/routes/web.php
index 128eea4f..8e02e7f0 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -59,7 +59,10 @@ Route::get('', function () {
Route::get('/signup', function () {
return view('pages.accounts.sign_up');
-})->name('signup');
+})->middleware([
+ \App\Http\Middleware\TrackAffiliateClick::class,
+ 'guest:web'
+])->name('signup');
Route::get('/account/email/verification/{token}', function ($token) {
return view('pages.accounts.email_verified', ['token' => $token]);