From 4277fa580cc3966df34d6ea9499db0b56d86aeaa Mon Sep 17 00:00:00 2001 From: glmdev Date: Sat, 9 Feb 2019 12:06:52 -0600 Subject: [PATCH] add lots --- .idea/encodings.xml | 4 + .idea/laravel.iml | 109 + .idea/misc.xml | 6 + .idea/modules.xml | 8 + .idea/php.xml | 111 + .idea/vcs.xml | 6 + .idea/workspace.xml | 504 + app/Http/Controllers/HomeController.php | 28 + app/ParkingLot.php | 19 + composer.json | 3 + composer.lock | 5449 ++++++++++ ...02_09_145854_create_parking_lots_table.php | 33 + ...57_add_reference_image_to_parking_lots.php | 32 + hackku-272b6e79b2a9.json | 12 + package-lock.json | 9109 +++++++++++++++++ public/img/lot-empty.jpg | Bin 0 -> 46851 bytes public/img/references/1549731408.jpg | Bin 0 -> 46851 bytes public/img/references/1549731519.jpg | Bin 0 -> 46851 bytes public/img/references/1549733132.jpg | Bin 0 -> 46851 bytes public/img/references/1549733192.jpg | Bin 0 -> 46851 bytes public/img/references/1549733258.jpg | Bin 0 -> 46851 bytes public/img/references/1549734106.jpg | Bin 0 -> 46851 bytes public/img/references/1549734284.jpg | Bin 0 -> 46851 bytes public/img/references/1549734518.jpg | Bin 0 -> 46851 bytes public/img/references/1549734642.jpg | Bin 0 -> 46851 bytes public/img/references/1549735133.jpg | Bin 0 -> 46851 bytes public/img/references/1549735264.jpg | Bin 0 -> 46851 bytes resources/views/auth/login.blade.php | 73 + .../views/auth/passwords/email.blade.php | 47 + .../views/auth/passwords/reset.blade.php | 65 + resources/views/auth/register.blade.php | 77 + resources/views/auth/verify.blade.php | 24 + resources/views/home.blade.php | 23 + resources/views/layouts/app.blade.php | 87 + resources/views/layouts/plain.blade.php | 36 + resources/views/lot/add.blade.php | 63 + resources/views/selectstalls.blade.php | 70 + resources/views/welcome.blade.php | 8 +- routes/web.php | 75 + 39 files changed, 16077 insertions(+), 4 deletions(-) create mode 100644 .idea/encodings.xml create mode 100644 .idea/laravel.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/php.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml create mode 100644 app/Http/Controllers/HomeController.php create mode 100644 app/ParkingLot.php create mode 100644 composer.lock create mode 100644 database/migrations/2019_02_09_145854_create_parking_lots_table.php create mode 100644 database/migrations/2019_02_09_164457_add_reference_image_to_parking_lots.php create mode 100644 hackku-272b6e79b2a9.json create mode 100644 package-lock.json create mode 100644 public/img/lot-empty.jpg create mode 100644 public/img/references/1549731408.jpg create mode 100644 public/img/references/1549731519.jpg create mode 100644 public/img/references/1549733132.jpg create mode 100644 public/img/references/1549733192.jpg create mode 100644 public/img/references/1549733258.jpg create mode 100644 public/img/references/1549734106.jpg create mode 100644 public/img/references/1549734284.jpg create mode 100644 public/img/references/1549734518.jpg create mode 100644 public/img/references/1549734642.jpg create mode 100644 public/img/references/1549735133.jpg create mode 100644 public/img/references/1549735264.jpg create mode 100644 resources/views/auth/login.blade.php create mode 100644 resources/views/auth/passwords/email.blade.php create mode 100644 resources/views/auth/passwords/reset.blade.php create mode 100644 resources/views/auth/register.blade.php create mode 100644 resources/views/auth/verify.blade.php create mode 100644 resources/views/home.blade.php create mode 100644 resources/views/layouts/app.blade.php create mode 100644 resources/views/layouts/plain.blade.php create mode 100644 resources/views/lot/add.blade.php create mode 100644 resources/views/selectstalls.blade.php diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..15a15b2 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/laravel.iml b/.idea/laravel.iml new file mode 100644 index 0000000..9636140 --- /dev/null +++ b/.idea/laravel.iml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..28a804d --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..ce38c8f --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/php.xml b/.idea/php.xml new file mode 100644 index 0000000..95ac52c --- /dev/null +++ b/.idea/php.xml @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..a647681 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,504 @@ + + + + + + + + + + + + $PROJECT_DIR$/composer.json + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @if ($errors->has('email')) + + {{ $errors->first('email') }} + + @endif + + + +
+ + +
+ + + @if ($errors->has('password')) + + {{ $errors->first('password') }} + + @endif +
+
+ +
+
+
+ + + +
+
+
+ +
+
+ + + @if (Route::has('password.request')) + + {{ __('Forgot Your Password?') }} + + @endif +
+
+ + + + + + +@endsection diff --git a/resources/views/auth/passwords/email.blade.php b/resources/views/auth/passwords/email.blade.php new file mode 100644 index 0000000..ccbee59 --- /dev/null +++ b/resources/views/auth/passwords/email.blade.php @@ -0,0 +1,47 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
{{ __('Reset Password') }}
+ +
+ @if (session('status')) + + @endif + +
+ @csrf + +
+ + +
+ + + @if ($errors->has('email')) + + {{ $errors->first('email') }} + + @endif +
+
+ +
+
+ +
+
+
+
+
+
+
+
+@endsection diff --git a/resources/views/auth/passwords/reset.blade.php b/resources/views/auth/passwords/reset.blade.php new file mode 100644 index 0000000..bf27f4c --- /dev/null +++ b/resources/views/auth/passwords/reset.blade.php @@ -0,0 +1,65 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
{{ __('Reset Password') }}
+ +
+
+ @csrf + + + +
+ + +
+ + + @if ($errors->has('email')) + + {{ $errors->first('email') }} + + @endif +
+
+ +
+ + +
+ + + @if ($errors->has('password')) + + {{ $errors->first('password') }} + + @endif +
+
+ +
+ + +
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+
+@endsection diff --git a/resources/views/auth/register.blade.php b/resources/views/auth/register.blade.php new file mode 100644 index 0000000..ad95f2c --- /dev/null +++ b/resources/views/auth/register.blade.php @@ -0,0 +1,77 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
{{ __('Register') }}
+ +
+
+ @csrf + +
+ + +
+ + + @if ($errors->has('name')) + + {{ $errors->first('name') }} + + @endif +
+
+ +
+ + +
+ + + @if ($errors->has('email')) + + {{ $errors->first('email') }} + + @endif +
+
+ +
+ + +
+ + + @if ($errors->has('password')) + + {{ $errors->first('password') }} + + @endif +
+
+ +
+ + +
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+
+@endsection diff --git a/resources/views/auth/verify.blade.php b/resources/views/auth/verify.blade.php new file mode 100644 index 0000000..c742cb4 --- /dev/null +++ b/resources/views/auth/verify.blade.php @@ -0,0 +1,24 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
{{ __('Verify Your Email Address') }}
+ +
+ @if (session('resent')) + + @endif + + {{ __('Before proceeding, please check your email for a verification link.') }} + {{ __('If you did not receive the email') }}, {{ __('click here to request another') }}. +
+
+
+
+
+@endsection diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php new file mode 100644 index 0000000..a140263 --- /dev/null +++ b/resources/views/home.blade.php @@ -0,0 +1,23 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
Dashboard
+ +
+ @if (session('status')) + + @endif + + Add New Lot +
+
+
+
+
+@endsection diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php new file mode 100644 index 0000000..9833847 --- /dev/null +++ b/resources/views/layouts/app.blade.php @@ -0,0 +1,87 @@ + + + + + + + + + + {{ config('app.name', 'Laravel') }} + + + + + + + + + + + + + + + + +
+ + +
+ @yield('content') +
+
+ + diff --git a/resources/views/layouts/plain.blade.php b/resources/views/layouts/plain.blade.php new file mode 100644 index 0000000..aa7d1bb --- /dev/null +++ b/resources/views/layouts/plain.blade.php @@ -0,0 +1,36 @@ + + + + + + + + + + {{ config('app.name', 'Laravel') }} + + + + + + {{----}} + + + + + + + + {{----}} + + +
+
+ @yield('content') +
+
+ + diff --git a/resources/views/lot/add.blade.php b/resources/views/lot/add.blade.php new file mode 100644 index 0000000..a3b2237 --- /dev/null +++ b/resources/views/lot/add.blade.php @@ -0,0 +1,63 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
Add New Parking Lot
+ +
+ @if (session('status')) + + @endif + +
+ @csrf + +
+ + +
+ + + @if ($errors->has('name')) + + {{ $errors->first('name') }} + + @endif +
+
+ +
+ + +
+ + + @if ($errors->has('image')) + + {{ $errors->first('image') }} + + @endif +
+
+ + + +
+
+ +
+
+
+
+
+
+
+
+@endsection diff --git a/resources/views/selectstalls.blade.php b/resources/views/selectstalls.blade.php new file mode 100644 index 0000000..002fe73 --- /dev/null +++ b/resources/views/selectstalls.blade.php @@ -0,0 +1,70 @@ +@extends('layouts.plain') + +@section('content') +
+
+
+
+

Select the Parking Stall Locations

+

{{ $image_name }}


+ +
+ @if (session('status')) + + @endif + + + +
+ + + + +
+
+
+
+
+@endsection diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php index 044b874..83b8045 100644 --- a/resources/views/welcome.blade.php +++ b/resources/views/welcome.blade.php @@ -4,7 +4,7 @@ - Laravel + WaitNoMore @@ -81,10 +81,10 @@
- Laravel + #waitnomore
- --}}
diff --git a/routes/web.php b/routes/web.php index 810aa34..d2cb806 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,5 +1,8 @@ name('home'); + +Route::get('/lot/selectstalls', function() { return view('selectstalls'); } ); + +Route::get('/lot/add', function() { return view('lot.add'); } ); +Route::post('/lot/post', function(\Illuminate\Http\Request $request) { + /*$this->validate($request, [ + 'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:4096', + ]);*/ + + if ( $request->hasFile('image') ){ + $img = $request->file('image'); + $name = time() . '.' . $img->getClientOriginalExtension(); + $destination_path = public_path('/img/references'); + $img->move($destination_path, $name); +// $this->save(); + + $lot_object = new ParkingLot([ + 'firebase_id' => str_replace(' ', '-', $request->get('name')), + 'stall_coordinates' => '', + 'reference_image' => $name + ]); + + $lot_object->save(); + + return view('selectstalls', [ 'image_name' => $name, 'lot_id' => $lot_object->id ]); + } +}); + +Route::post('/lot/generate', function(\Illuminate\Http\Request $request){ + $lot_object = ParkingLot::find($request->get('lotid')); + $lot_object->stall_coordinates = $request->get('coords'); + $lot_object->save(); + + $db = new FirestoreClient(); + + $doc_ref = $db->collection('lots')->document($lot_object->firebase_id); + $doc_ref->set([]); + + $doc_ref = $db->collection('lots')->document($lot_object->firebase_id)->collection('info')->document('lotInfo'); + $doc_ref->set([ + 'coordinates' => $lot_object->stall_coordinates, + 'lotID' => $lot_object->id, + 'refImage' => $lot_object->reference_image, + 'tableLayout' => '', + ]); + + $coords = json_decode($lot_object->stall_coordinates); + $stall_no = 1; + foreach ($coords as $coord){ + $doc_ref = $db->collection('lots')->document($lot_object->firebase_id)->collection('stalls')->document('Stall-'.$stall_no); + $doc_ref->set([ + 'handicap' => false, + 'locationX' => $coord->x, + 'locationY' => $coord->y, + 'open' => true, + 'passID' => 0, + 'width' => $coord->w, + 'height' => $coord->h, + 'stall' => $stall_no, + ]); + + $stall_no += 1; + } + + + + echo $request->get('coords'); +}); \ No newline at end of file