diff --git a/app/Http/Controllers/Api/OutletController.php b/app/Http/Controllers/Api/OutletController.php
new file mode 100644
index 0000000..006f77c
--- /dev/null
+++ b/app/Http/Controllers/Api/OutletController.php
@@ -0,0 +1,35 @@
+map(function ($outlet) {
+ return [
+ 'type' => 'Feature',
+ 'properties' => new OutletResource($outlet),
+ 'geometry' => [
+ 'type' => 'Point',
+ 'coordinates' => [
+ $outlet->longitude,
+ $outlet->latitude,
+ ],
+ ],
+ ];
+ });
+
+ return response()->json([
+ 'type' => 'FeatureCollection',
+ 'features' => $geoJSONdata,
+ ]);
+ }
+}
diff --git a/app/Http/Controllers/OutletMapController.php b/app/Http/Controllers/OutletMapController.php
new file mode 100644
index 0000000..e162087
--- /dev/null
+++ b/app/Http/Controllers/OutletMapController.php
@@ -0,0 +1,13 @@
+ 'Our Outlets',
+];
diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php
index 615791f..dad4c4d 100644
--- a/resources/views/layouts/app.blade.php
+++ b/resources/views/layouts/app.blade.php
@@ -37,6 +37,7 @@
+ - {{ __('menu.our_outlets') }}
@guest
-
{{ __('Login') }}
diff --git a/resources/views/outlets/map.blade.php b/resources/views/outlets/map.blade.php
new file mode 100644
index 0000000..abc45b3
--- /dev/null
+++ b/resources/views/outlets/map.blade.php
@@ -0,0 +1,57 @@
+@extends('layouts.app')
+
+@section('content')
+
+@endsection
+
+@section('styles')
+
+
+
+@endsection
+@push('scripts')
+
+
+
+
+@endpush
diff --git a/routes/api.php b/routes/api.php
index c641ca5..ea4244f 100644
--- a/routes/api.php
+++ b/routes/api.php
@@ -16,3 +16,10 @@ use Illuminate\Http\Request;
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
+
+Route::group(['as' => 'api.', 'namespace' => 'Api'], function () {
+ /*
+ * Outlets Endpoints
+ */
+ Route::get('outlets', 'OutletController@index')->name('outlets.index');
+});
diff --git a/routes/web.php b/routes/web.php
index b936799..393bab8 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -22,4 +22,5 @@ Route::get('/home', 'HomeController@index')->name('home');
/*
* Outlets Routes
*/
+Route::get('/our_outlets', 'OutletMapController@index')->name('outlet_map.index');
Route::resource('outlets', 'OutletController');
diff --git a/tests/Feature/Api/OutletListingTest.php b/tests/Feature/Api/OutletListingTest.php
new file mode 100644
index 0000000..2a44046
--- /dev/null
+++ b/tests/Feature/Api/OutletListingTest.php
@@ -0,0 +1,41 @@
+create();
+
+ $this->getJson(route('api.outlets.index'));
+
+ $this->seeJsonSubset([
+ 'type' => 'FeatureCollection',
+ 'features' => [
+ [
+ 'type' => 'Feature',
+ 'properties' => [
+ 'name' => $outlet->name,
+ 'address' => $outlet->address,
+ 'coordinate' => $outlet->coordinate,
+ ],
+ 'geometry' => [
+ 'type' => 'Point',
+ 'coordinates' => [
+ $outlet->longitude,
+ $outlet->latitude,
+ ],
+ ],
+ ],
+ ],
+ ]);
+ }
+}