diff --git a/app/Console/Commands/SetupDevEnvironment.php b/app/Console/Commands/SetupDevEnvironment.php
index 0da6e090..1b0d826b 100644
--- a/app/Console/Commands/SetupDevEnvironment.php
+++ b/app/Console/Commands/SetupDevEnvironment.php
@@ -2,12 +2,15 @@
namespace App\Console\Commands;
+use App\Models\File;
use App\Models\Folder;
use App\Models\Page;
use App\Models\Share;
+use App\Services\HelperService;
use App\Services\SetupService;
use App\Models\Setting;
use App\Models\User;
+use Carbon\Carbon;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Hash;
use Faker;
@@ -26,9 +29,10 @@ class SetupDevEnvironment extends Command
*
* @var string
*/
- protected $description = 'Set up development environment';
+ protected $description = 'Set up development environment with demo data';
private $setup;
+ private $helper;
/**
* Create a new command instance.
@@ -40,6 +44,7 @@ class SetupDevEnvironment extends Command
parent::__construct();
$this->faker = Faker\Factory::create();
$this->setup = resolve(SetupService::class);
+ $this->helper = resolve(HelperService::class);
}
/**
@@ -65,6 +70,9 @@ class SetupDevEnvironment extends Command
$this->info('Creating default admin...');
$this->create_admin();
+ $this->info('Creating demo users...');
+ $this->create_demo_users();
+
$this->info('Creating default admin content...');
$this->create_admin_default_content();
@@ -88,6 +96,7 @@ class SetupDevEnvironment extends Command
$user
->settings()
->create([
+ 'avatar' => 'avatars/avatar-01.png',
'storage_capacity' => 5,
'name' => 'Jane Doe',
'address' => $this->faker->address,
@@ -99,10 +108,53 @@ class SetupDevEnvironment extends Command
'timezone' => $this->faker->randomElement(['+1.0', '+2.0', '+3.0']),
]);
+ \File::copy(storage_path("demo/avatars/avatar-01.png"), storage_path("app/avatars/avatar-01.png"));
+
// Show user credentials
$this->info('Default admin account created. Email: howdy@hi5ve.digital and Password: vuefilemanager');
}
+ /**
+ * Create default admin account
+ */
+ private function create_demo_users(): void
+ {
+ collect([
+ [
+ 'avatar' => 'avatar-02.png',
+ ],
+ [
+ 'avatar' => 'avatar-03.png',
+ ],
+ ])->each(function ($user) {
+
+ $newbie = User::forceCreate([
+ 'role' => 'user',
+ 'email' => $this->faker->email,
+ 'password' => Hash::make('vuefilemanager'),
+ ]);
+
+ $newbie
+ ->settings()
+ ->create([
+ 'avatar' => "avatars/{$user['avatar']}",
+ 'storage_capacity' => 5,
+ 'name' => $this->faker->name,
+ 'address' => $this->faker->address,
+ 'state' => $this->faker->state,
+ 'city' => $this->faker->city,
+ 'postal_code' => $this->faker->postcode,
+ 'country' => $this->faker->randomElement(['SK', 'CZ', 'DE', 'FR']),
+ 'phone_number' => $this->faker->phoneNumber,
+ 'timezone' => $this->faker->randomElement(['+1.0', '+2.0', '+3.0']),
+ ]);
+
+ \File::copy(storage_path("demo/avatars/{$user['avatar']}"), storage_path("app/avatars/{$user['avatar']}"));
+
+ $this->info("Generated user with email: $newbie->email and Password: vuefilemanager");
+ });
+ }
+
/**
* Create default admin content
*/
@@ -119,12 +171,13 @@ class SetupDevEnvironment extends Command
'name' => 'Shared Folder',
'emoji' => [
"codes" => "1F680",
- "char" => "\ud83d\ude80",
+ "char" => "🚀",
"name" => "rocket",
"category" => "Travel & Places (transport-air)",
"group" => "Travel & Places",
"subgroup" => "transport-air"
],
+ 'created_at' => Carbon::now(),
]);
Share::factory(Share::class)
@@ -141,7 +194,7 @@ class SetupDevEnvironment extends Command
->create([
'user_id' => $user->id,
'parent_id' => $shared_folder->id,
- 'user_scope' => 'master',
+ 'user_scope' => 'editor',
'name' => "Peter's Files",
]);
@@ -159,6 +212,7 @@ class SetupDevEnvironment extends Command
'group' => 'Objects',
'subgroup' => 'light & video',
],
+ 'created_at' => Carbon::now()->subMinutes(1),
]);
$nature = Folder::factory(Folder::class)
@@ -199,6 +253,7 @@ class SetupDevEnvironment extends Command
'user_id' => $user->id,
'user_scope' => 'master',
'name' => 'Playable Media',
+ 'created_at' => Carbon::now()->subMinutes(2),
]);
$video = Folder::factory(Folder::class)
@@ -223,6 +278,7 @@ class SetupDevEnvironment extends Command
'user_id' => $user->id,
'user_scope' => 'master',
'name' => 'Multi Level Folder',
+ 'created_at' => Carbon::now()->subMinutes(3),
]);
$first_level = Folder::factory(Folder::class)
@@ -255,6 +311,7 @@ class SetupDevEnvironment extends Command
'user_id' => $user->id,
'user_scope' => 'master',
'name' => 'Documents',
+ 'created_at' => Carbon::now()->subMinutes(4),
]);
Share::factory(Share::class)
@@ -273,6 +330,7 @@ class SetupDevEnvironment extends Command
'user_id' => $user->id,
'user_scope' => 'master',
'name' => 'Videohive by MakingCG',
+ 'created_at' => Carbon::now()->subMinutes(5),
]);
$user
@@ -284,6 +342,355 @@ class SetupDevEnvironment extends Command
$peters_files->id,
]);
+ // Get documents to root directory
+ collect([
+ [
+ 'name' => 'Random Document',
+ 'basename' => 'Licence.pdf',
+ 'mimetype' => 'pdf',
+ ],
+ [
+ 'name' => 'School Report',
+ 'basename' => 'Project Notes.pdf',
+ 'mimetype' => 'pdf',
+ ],
+ [
+ 'name' => 'Personal Savings',
+ 'basename' => 'School Report.pages',
+ 'mimetype' => 'pages',
+ ],
+ [
+ 'name' => 'Top Secret Files',
+ 'basename' => 'Stories of the Night Skies.pages',
+ 'mimetype' => 'pages',
+ ],
+ ])
+ ->each(function ($file) use ($user) {
+
+ // Copy file into app storage
+ \File::copy(storage_path("demo/documents/{$file['basename']}"), storage_path("app/files/$user->id/{$file['basename']}"));
+
+ // Create file record
+ File::create([
+ 'folder_id' => null,
+ 'user_id' => $user->id,
+ 'name' => $file['name'],
+ 'basename' => $file['basename'],
+ 'type' => 'file',
+ 'user_scope' => 'master',
+ 'mimetype' => $file['mimetype'],
+ 'filesize' => rand(1000000, 4000000),
+ 'created_at' => Carbon::now()->subMinutes(rand(1, 5)),
+ ]);
+ });
+
+ // Get documents to documents folder
+ collect([
+ [
+ 'name' => 'Home Improvement',
+ 'basename' => 'Licence.pdf',
+ 'mimetype' => 'pdf',
+ ],
+ [
+ 'name' => 'Project Notes',
+ 'basename' => 'Project Notes.pdf',
+ 'mimetype' => 'pdf',
+ ],
+ [
+ 'name' => 'Personal Savings',
+ 'basename' => 'School Report.pages',
+ 'mimetype' => 'pages',
+ ],
+ [
+ 'name' => 'License',
+ 'basename' => 'Stories of the Night Skies.pages',
+ 'mimetype' => 'pages',
+ ],
+ ])
+ ->each(function ($file) use ($user, $documents) {
+
+ // Copy file into app storage
+ \File::copy(storage_path("demo/documents/{$file['basename']}"), storage_path("app/files/$user->id/{$file['basename']}"));
+
+ // Create file record
+ File::create([
+ 'folder_id' => $documents->id,
+ 'user_id' => $user->id,
+ 'name' => $file['name'],
+ 'basename' => $file['basename'],
+ 'type' => 'file',
+ 'user_scope' => 'master',
+ 'mimetype' => $file['mimetype'],
+ 'filesize' => rand(1000000, 4000000),
+ 'created_at' => Carbon::now()->subMinutes(rand(1, 5)),
+ ]);
+ });
+
+ // Get documents to shared folder
+ collect([
+ [
+ 'name' => 'Home plan',
+ 'basename' => 'Licence.pdf',
+ 'mimetype' => 'pdf',
+ ],
+ [
+ 'name' => 'Software Licence',
+ 'basename' => 'Project Notes.pdf',
+ 'mimetype' => 'pdf',
+ ]
+ ])
+ ->each(function ($file) use ($user, $shared_folder) {
+
+ // Copy file into app storage
+ \File::copy(storage_path("demo/documents/{$file['basename']}"), storage_path("app/files/$user->id/{$file['basename']}"));
+
+ // Create file record
+ File::create([
+ 'folder_id' => $shared_folder->id,
+ 'user_id' => $user->id,
+ 'name' => $file['name'],
+ 'basename' => $file['basename'],
+ 'type' => 'file',
+ 'user_scope' => 'master',
+ 'mimetype' => $file['mimetype'],
+ 'filesize' => rand(1000000, 4000000),
+ 'created_at' => Carbon::now()->subMinutes(rand(1, 5)),
+ ]);
+ });
+
+ // Get documents to peter's files folder
+ collect([
+ [
+ 'name' => 'Project Backup',
+ 'basename' => 'Licence.pdf',
+ 'mimetype' => 'pdf',
+ ],
+ [
+ 'name' => 'Yearly report',
+ 'basename' => 'Project Notes.pdf',
+ 'mimetype' => 'pdf',
+ ],
+ [
+ 'name' => 'Work Update',
+ 'basename' => 'School Report.pages',
+ 'mimetype' => 'pages',
+ ],
+ [
+ 'name' => 'Person Writing on Notebook',
+ 'basename' => 'Stories of the Night Skies.pages',
+ 'mimetype' => 'pages',
+ ],
+ [
+ 'name' => 'Blank Business Composition Computer',
+ 'basename' => 'Licence.pdf',
+ 'mimetype' => 'pdf',
+ ],
+ [
+ 'name' => '2020 April - Export',
+ 'basename' => 'Project Notes.pdf',
+ 'mimetype' => 'pdf',
+ ],
+ [
+ 'name' => 'Ballpen Blur Close Up Computer',
+ 'basename' => 'School Report.pages',
+ 'mimetype' => 'pages',
+ ],
+ ])
+ ->each(function ($file) use ($user, $peters_files) {
+
+ // Copy file into app storage
+ \File::copy(storage_path("demo/documents/{$file['basename']}"), storage_path("app/files/$user->id/{$file['basename']}"));
+
+ // Create file record
+ File::create([
+ 'folder_id' => $peters_files->id,
+ 'user_id' => $user->id,
+ 'name' => $file['name'],
+ 'basename' => $file['basename'],
+ 'type' => 'file',
+ 'user_scope' => 'editor',
+ 'mimetype' => $file['mimetype'],
+ 'filesize' => rand(1000000, 4000000),
+ 'created_at' => Carbon::now()->subMinutes(rand(1, 5)),
+ ]);
+ });
+
+ // Get videos
+ collect([
+ 'Apple Watch App Video Promotion.mp4',
+ 'Professional 3D Device Pack for Element 3D.mp4',
+ 'Smart Watch 3D Device Pack for Element 3D.mp4',
+ 'Sphere Bound 3D Titles.mp4',
+ ])
+ ->each(function ($file) use ($user, $videohive) {
+
+ // Copy file into app storage
+ \File::copy(storage_path("demo/video/$file"), storage_path("app/files/$user->id/$file"));
+
+ // Create file record
+ File::create([
+ 'folder_id' => $videohive->id,
+ 'user_id' => $user->id,
+ 'name' => $file,
+ 'basename' => $file,
+ 'type' => 'video',
+ 'user_scope' => 'master',
+ 'mimetype' => 'mp4',
+ 'filesize' => rand(1000000, 4000000),
+ 'created_at' => Carbon::now()->subMinutes(rand(1, 5)),
+ ]);
+ });
+
+ // Get video into video folder
+ collect([
+ 'Apple Watch App Video Promotion.mp4',
+ ])
+ ->each(function ($file) use ($user, $video) {
+
+ // Copy file into app storage
+ \File::copy(storage_path("demo/video/$file"), storage_path("app/files/$user->id/$file"));
+
+ // Create file record
+ File::create([
+ 'folder_id' => $video->id,
+ 'user_id' => $user->id,
+ 'name' => $file,
+ 'basename' => $file,
+ 'type' => 'video',
+ 'user_scope' => 'master',
+ 'mimetype' => 'mp4',
+ 'filesize' => rand(1000000, 4000000),
+ 'created_at' => Carbon::now()->subMinutes(rand(1, 5)),
+ ]);
+ });
+
+ // Get audios
+ collect([
+ 'D-Block & S-te-Fan - Bla Bla.mp3',
+ ])
+ ->each(function ($file) use ($user, $audio) {
+
+ // Copy file into app storage
+ \File::copy(storage_path("demo/audio/$file"), storage_path("app/files/$user->id/$file"));
+
+ // Create file record
+ File::create([
+ 'folder_id' => $audio->id,
+ 'user_id' => $user->id,
+ 'name' => $file,
+ 'basename' => $file,
+ 'type' => 'audio',
+ 'user_scope' => 'master',
+ 'mimetype' => 'mp3',
+ 'filesize' => rand(1000000, 4000000),
+ 'created_at' => Carbon::now()->subMinutes(rand(1, 5)),
+ ]);
+ });
+
+ // Get meme gallery
+ collect([
+ 'Eggcited bro.jpg',
+ 'Get a Rest.jpg',
+ 'Get Your Shit Together.jpg',
+ 'Happiness is when you are right beside me.jpg',
+ 'Have a Nice Day.jpg',
+ 'It Works On My Machine.jpg',
+ 'I am Just Trying to shine.jpg',
+ 'It Works On My Machine.jpg',
+ 'Missing you It is Pig Time.jpg',
+ 'Sofishticated.jpg',
+ 'whaaaaat.jpg',
+ 'You Are My Sunshine.jpg',
+ ])
+ ->each(function ($file) use ($user, $apartments) {
+
+ // Copy file into app storage
+ \File::copy(storage_path("demo/images/memes/$file"), storage_path("app/files/$user->id/$file"));
+
+ $this->info("Creating thumbnail for image: $file");
+
+ // Create file record
+ File::create([
+ 'folder_id' => null,
+ 'user_id' => $user->id,
+ 'name' => $file,
+ 'basename' => $file,
+ 'type' => 'image',
+ 'user_scope' => 'master',
+ 'mimetype' => 'jpg',
+ 'filesize' => rand(1000000, 4000000),
+ 'thumbnail' => $this->helper->create_image_thumbnail("files/$user->id/$file", $file, $user->id),
+ 'created_at' => Carbon::now()->subMinutes(rand(1, 5)),
+ ]);
+ });
+
+ // Get apartments gallery
+ collect([
+ 'Apartment Architecture Ceiling Chairs.jpg',
+ 'Apartment Chair.jpg',
+ 'Apartment Contemporary Couch Curtains.jpg',
+ 'Brown Wooden Center Table.jpg',
+ 'Home.jpg',
+ 'Kitchen Appliances.jpg',
+ 'Kitchen Island.jpg',
+ ])
+ ->each(function ($file) use ($user, $apartments) {
+
+ // Copy file into app storage
+ \File::copy(storage_path("demo/images/apartments/$file"), storage_path("app/files/$user->id/$file"));
+
+ $this->info("Creating thumbnail for image: $file");
+
+ // Create file record
+ File::create([
+ 'folder_id' => $apartments->id,
+ 'user_id' => $user->id,
+ 'name' => $file,
+ 'basename' => $file,
+ 'type' => 'image',
+ 'user_scope' => 'master',
+ 'mimetype' => 'jpg',
+ 'filesize' => rand(1000000, 4000000),
+ 'thumbnail' => $this->helper->create_image_thumbnail("files/$user->id/$file", $file, $user->id),
+ 'created_at' => Carbon::now()->subMinutes(rand(1, 5)),
+ ]);
+ });
+
+ // Get nature gallery
+ collect([
+ 'Bird Patterncolorful Green.jpg',
+ 'Close Up Of Peacock.jpg',
+ 'Close Up Photography Of Tiger.jpg',
+ 'Cold Nature Cute Ice.jpg',
+ 'Landscape Photo of Forest.jpg',
+ 'Photo of Hawksbill Sea Turtle.jpg',
+ 'Photo Of Reindeer in The Snow.jpg',
+ 'View Of Elephant in Water.jpg',
+ 'Waterfall Between Trees.jpg',
+ 'Wildlife Photography of Elephant During Golden Hour.jpg',
+ 'Yellow Animal Eyes Fur.jpg',
+ ])
+ ->each(function ($file) use ($user, $nature) {
+
+ // Copy file into app storage
+ \File::copy(storage_path("demo/images/nature/$file"), storage_path("app/files/$user->id/$file"));
+
+ $this->info("Creating thumbnail for image: $file");
+
+ // Create file record
+ File::create([
+ 'folder_id' => $nature->id,
+ 'user_id' => $user->id,
+ 'name' => $file,
+ 'basename' => $file,
+ 'type' => 'image',
+ 'user_scope' => 'master',
+ 'mimetype' => 'jpg',
+ 'filesize' => rand(1000000, 4000000),
+ 'thumbnail' => $this->helper->create_image_thumbnail("files/$user->id/$file", $file, $user->id),
+ 'created_at' => Carbon::now()->subMinutes(rand(1, 5)),
+ ]);
+ });
}
/**
@@ -307,11 +714,11 @@ class SetupDevEnvironment extends Command
],
[
'name' => 'app_logo',
- 'value' => null,
+ 'value' => 'system/logo.svg',
],
[
'name' => 'app_logo_horizontal',
- 'value' => null,
+ 'value' => 'system/logo-horizontal.svg',
],
[
'name' => 'app_favicon',
@@ -355,6 +762,13 @@ class SetupDevEnvironment extends Command
'value' => $col['value']
]);
});
+
+ // Get system images
+ collect(['logo.svg', 'logo-horizontal.svg'])
+ ->each(function ($file) {
+ \File::copy(storage_path("demo/app/$file"), storage_path("app/system/$file"));
+ });
+
}
/**
diff --git a/public/mix-manifest.json b/public/mix-manifest.json
index 95d6b61d..94b8f30f 100644
--- a/public/mix-manifest.json
+++ b/public/mix-manifest.json
@@ -112,5 +112,12 @@
"/js/main.f7286199453d4271e692.hot-update.js": "/js/main.f7286199453d4271e692.hot-update.js",
"/js/main.de3eaa7ec85c41a75abc.hot-update.js": "/js/main.de3eaa7ec85c41a75abc.hot-update.js",
"/js/main.d211f3e62bc08a5fd565.hot-update.js": "/js/main.d211f3e62bc08a5fd565.hot-update.js",
- "/chunks/files~chunks/shared-files~chunks/shared-page.d211f3e62bc08a5fd565.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.d211f3e62bc08a5fd565.hot-update.js"
+ "/chunks/files~chunks/shared-files~chunks/shared-page.d211f3e62bc08a5fd565.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.d211f3e62bc08a5fd565.hot-update.js",
+ "/js/main.de841c17bb55c32da478.hot-update.js": "/js/main.de841c17bb55c32da478.hot-update.js",
+ "/js/main.b61315cd285219b11731.hot-update.js": "/js/main.b61315cd285219b11731.hot-update.js",
+ "/chunks/dashboard.b61315cd285219b11731.hot-update.js": "/chunks/dashboard.b61315cd285219b11731.hot-update.js",
+ "/js/main.1056cf7afbc3095b82de.hot-update.js": "/js/main.1056cf7afbc3095b82de.hot-update.js",
+ "/js/main.7f98103ae676a8eb77a0.hot-update.js": "/js/main.7f98103ae676a8eb77a0.hot-update.js",
+ "/chunks/dashboard.cebefe1458a8cf1b5465.hot-update.js": "/chunks/dashboard.cebefe1458a8cf1b5465.hot-update.js",
+ "/js/main.eadac5684c037fd84719.hot-update.js": "/js/main.eadac5684c037fd84719.hot-update.js"
}
diff --git a/resources/js/components/Others/CookieDisclaimer.vue b/resources/js/components/Others/CookieDisclaimer.vue
index 4fb50330..6a5be480 100644
--- a/resources/js/components/Others/CookieDisclaimer.vue
+++ b/resources/js/components/Others/CookieDisclaimer.vue
@@ -45,6 +45,7 @@
.cookie-wrapper {
@include widget-card;
+ background: white;
position: fixed;
bottom: 0;
left: 115px;
diff --git a/storage/demo/app/logo-horizontal.svg b/storage/demo/app/logo-horizontal.svg
new file mode 100644
index 00000000..0bfc47df
--- /dev/null
+++ b/storage/demo/app/logo-horizontal.svg
@@ -0,0 +1,20 @@
+
+
\ No newline at end of file
diff --git a/storage/demo/app/logo.svg b/storage/demo/app/logo.svg
new file mode 100644
index 00000000..d1e23136
--- /dev/null
+++ b/storage/demo/app/logo.svg
@@ -0,0 +1,15 @@
+
+
\ No newline at end of file
diff --git a/storage/demo/audio/D-Block & S-te-Fan - Bla Bla.mp3 b/storage/demo/audio/D-Block & S-te-Fan - Bla Bla.mp3
new file mode 100644
index 00000000..bad23869
Binary files /dev/null and b/storage/demo/audio/D-Block & S-te-Fan - Bla Bla.mp3 differ
diff --git a/storage/demo/avatars/avatar-01.png b/storage/demo/avatars/avatar-01.png
new file mode 100644
index 00000000..0f8aec89
Binary files /dev/null and b/storage/demo/avatars/avatar-01.png differ
diff --git a/storage/demo/avatars/avatar-02.png b/storage/demo/avatars/avatar-02.png
new file mode 100644
index 00000000..060ead8f
Binary files /dev/null and b/storage/demo/avatars/avatar-02.png differ
diff --git a/storage/demo/avatars/avatar-03.png b/storage/demo/avatars/avatar-03.png
new file mode 100644
index 00000000..a308914d
Binary files /dev/null and b/storage/demo/avatars/avatar-03.png differ
diff --git a/storage/demo/documents/Licence.pdf b/storage/demo/documents/Licence.pdf
new file mode 100644
index 00000000..64d9a7cc
Binary files /dev/null and b/storage/demo/documents/Licence.pdf differ
diff --git a/storage/demo/documents/Project Notes.pdf b/storage/demo/documents/Project Notes.pdf
new file mode 100644
index 00000000..64d9a7cc
Binary files /dev/null and b/storage/demo/documents/Project Notes.pdf differ
diff --git a/storage/demo/documents/School Report.pages b/storage/demo/documents/School Report.pages
new file mode 100755
index 00000000..d25cc89d
Binary files /dev/null and b/storage/demo/documents/School Report.pages differ
diff --git a/storage/demo/documents/Stories of the Night Skies.pages b/storage/demo/documents/Stories of the Night Skies.pages
new file mode 100755
index 00000000..a06c775b
Binary files /dev/null and b/storage/demo/documents/Stories of the Night Skies.pages differ
diff --git a/storage/demo/documents/Vue File Manager Documentation.pdf b/storage/demo/documents/Vue File Manager Documentation.pdf
new file mode 100644
index 00000000..64d9a7cc
Binary files /dev/null and b/storage/demo/documents/Vue File Manager Documentation.pdf differ
diff --git a/storage/demo/images/apartments/Apartment Architecture Ceiling Chairs.jpg b/storage/demo/images/apartments/Apartment Architecture Ceiling Chairs.jpg
new file mode 100644
index 00000000..0979d777
Binary files /dev/null and b/storage/demo/images/apartments/Apartment Architecture Ceiling Chairs.jpg differ
diff --git a/storage/demo/images/apartments/Apartment Chair.jpg b/storage/demo/images/apartments/Apartment Chair.jpg
new file mode 100644
index 00000000..cd3d83a1
Binary files /dev/null and b/storage/demo/images/apartments/Apartment Chair.jpg differ
diff --git a/storage/demo/images/apartments/Apartment Contemporary Couch Curtains.jpg b/storage/demo/images/apartments/Apartment Contemporary Couch Curtains.jpg
new file mode 100644
index 00000000..b1a06b6f
Binary files /dev/null and b/storage/demo/images/apartments/Apartment Contemporary Couch Curtains.jpg differ
diff --git a/storage/demo/images/apartments/Brown Wooden Center Table.jpg b/storage/demo/images/apartments/Brown Wooden Center Table.jpg
new file mode 100644
index 00000000..a7d63d62
Binary files /dev/null and b/storage/demo/images/apartments/Brown Wooden Center Table.jpg differ
diff --git a/storage/demo/images/apartments/Home.jpg b/storage/demo/images/apartments/Home.jpg
new file mode 100644
index 00000000..5f646d3d
Binary files /dev/null and b/storage/demo/images/apartments/Home.jpg differ
diff --git a/storage/demo/images/apartments/Kitchen Appliances.jpg b/storage/demo/images/apartments/Kitchen Appliances.jpg
new file mode 100644
index 00000000..e9ac5f37
Binary files /dev/null and b/storage/demo/images/apartments/Kitchen Appliances.jpg differ
diff --git a/storage/demo/images/apartments/Kitchen Island.jpg b/storage/demo/images/apartments/Kitchen Island.jpg
new file mode 100644
index 00000000..2962ed52
Binary files /dev/null and b/storage/demo/images/apartments/Kitchen Island.jpg differ
diff --git a/storage/demo/images/memes/Eggcited bro.jpg b/storage/demo/images/memes/Eggcited bro.jpg
new file mode 100644
index 00000000..8c3a49c9
Binary files /dev/null and b/storage/demo/images/memes/Eggcited bro.jpg differ
diff --git a/storage/demo/images/memes/Get Your Shit Together.jpg b/storage/demo/images/memes/Get Your Shit Together.jpg
new file mode 100644
index 00000000..c52bd2c5
Binary files /dev/null and b/storage/demo/images/memes/Get Your Shit Together.jpg differ
diff --git a/storage/demo/images/memes/Get a Rest.jpg b/storage/demo/images/memes/Get a Rest.jpg
new file mode 100644
index 00000000..735ed5f6
Binary files /dev/null and b/storage/demo/images/memes/Get a Rest.jpg differ
diff --git a/storage/demo/images/memes/Happiness is when you are right beside me.jpg b/storage/demo/images/memes/Happiness is when you are right beside me.jpg
new file mode 100644
index 00000000..58bfe064
Binary files /dev/null and b/storage/demo/images/memes/Happiness is when you are right beside me.jpg differ
diff --git a/storage/demo/images/memes/Have a Nice Day.jpg b/storage/demo/images/memes/Have a Nice Day.jpg
new file mode 100644
index 00000000..35250a25
Binary files /dev/null and b/storage/demo/images/memes/Have a Nice Day.jpg differ
diff --git a/storage/demo/images/memes/I am Just Trying to shine.jpg b/storage/demo/images/memes/I am Just Trying to shine.jpg
new file mode 100644
index 00000000..9b88c364
Binary files /dev/null and b/storage/demo/images/memes/I am Just Trying to shine.jpg differ
diff --git a/storage/demo/images/memes/It Works On My Machine.jpg b/storage/demo/images/memes/It Works On My Machine.jpg
new file mode 100644
index 00000000..bd7c897e
Binary files /dev/null and b/storage/demo/images/memes/It Works On My Machine.jpg differ
diff --git a/storage/demo/images/memes/Missing you It is Pig Time.jpg b/storage/demo/images/memes/Missing you It is Pig Time.jpg
new file mode 100644
index 00000000..6fac7ac5
Binary files /dev/null and b/storage/demo/images/memes/Missing you It is Pig Time.jpg differ
diff --git a/storage/demo/images/memes/Sofishticated.jpg b/storage/demo/images/memes/Sofishticated.jpg
new file mode 100644
index 00000000..82c500c6
Binary files /dev/null and b/storage/demo/images/memes/Sofishticated.jpg differ
diff --git a/storage/demo/images/memes/You Are My Sunshine.jpg b/storage/demo/images/memes/You Are My Sunshine.jpg
new file mode 100644
index 00000000..413392b0
Binary files /dev/null and b/storage/demo/images/memes/You Are My Sunshine.jpg differ
diff --git a/storage/demo/images/memes/whaaaaat.jpg b/storage/demo/images/memes/whaaaaat.jpg
new file mode 100644
index 00000000..99ae8e52
Binary files /dev/null and b/storage/demo/images/memes/whaaaaat.jpg differ
diff --git a/storage/demo/images/nature/Bird Patterncolorful Green.jpg b/storage/demo/images/nature/Bird Patterncolorful Green.jpg
new file mode 100644
index 00000000..3d50e1fc
Binary files /dev/null and b/storage/demo/images/nature/Bird Patterncolorful Green.jpg differ
diff --git a/storage/demo/images/nature/Close Up Of Peacock.jpg b/storage/demo/images/nature/Close Up Of Peacock.jpg
new file mode 100644
index 00000000..cd32ce8b
Binary files /dev/null and b/storage/demo/images/nature/Close Up Of Peacock.jpg differ
diff --git a/storage/demo/images/nature/Close Up Photography Of Tiger.jpg b/storage/demo/images/nature/Close Up Photography Of Tiger.jpg
new file mode 100644
index 00000000..2c226000
Binary files /dev/null and b/storage/demo/images/nature/Close Up Photography Of Tiger.jpg differ
diff --git a/storage/demo/images/nature/Cold Nature Cute Ice.jpg b/storage/demo/images/nature/Cold Nature Cute Ice.jpg
new file mode 100644
index 00000000..1e428e02
Binary files /dev/null and b/storage/demo/images/nature/Cold Nature Cute Ice.jpg differ
diff --git a/storage/demo/images/nature/Landscape Photo of Forest.jpg b/storage/demo/images/nature/Landscape Photo of Forest.jpg
new file mode 100644
index 00000000..55afc6e8
Binary files /dev/null and b/storage/demo/images/nature/Landscape Photo of Forest.jpg differ
diff --git a/storage/demo/images/nature/Photo Of Reindeer in The Snow.jpg b/storage/demo/images/nature/Photo Of Reindeer in The Snow.jpg
new file mode 100644
index 00000000..e7362f5e
Binary files /dev/null and b/storage/demo/images/nature/Photo Of Reindeer in The Snow.jpg differ
diff --git a/storage/demo/images/nature/Photo of Hawksbill Sea Turtle.jpg b/storage/demo/images/nature/Photo of Hawksbill Sea Turtle.jpg
new file mode 100644
index 00000000..9f3d2db7
Binary files /dev/null and b/storage/demo/images/nature/Photo of Hawksbill Sea Turtle.jpg differ
diff --git a/storage/demo/images/nature/View Of Elephant in Water.jpg b/storage/demo/images/nature/View Of Elephant in Water.jpg
new file mode 100644
index 00000000..d7936255
Binary files /dev/null and b/storage/demo/images/nature/View Of Elephant in Water.jpg differ
diff --git a/storage/demo/images/nature/Waterfall Between Trees.jpg b/storage/demo/images/nature/Waterfall Between Trees.jpg
new file mode 100644
index 00000000..b4e5447e
Binary files /dev/null and b/storage/demo/images/nature/Waterfall Between Trees.jpg differ
diff --git a/storage/demo/images/nature/Wildlife Photography of Elephant During Golden Hour.jpg b/storage/demo/images/nature/Wildlife Photography of Elephant During Golden Hour.jpg
new file mode 100644
index 00000000..03dafcc0
Binary files /dev/null and b/storage/demo/images/nature/Wildlife Photography of Elephant During Golden Hour.jpg differ
diff --git a/storage/demo/images/nature/Yellow Animal Eyes Fur.jpg b/storage/demo/images/nature/Yellow Animal Eyes Fur.jpg
new file mode 100644
index 00000000..9305921e
Binary files /dev/null and b/storage/demo/images/nature/Yellow Animal Eyes Fur.jpg differ
diff --git a/storage/demo/video/Apple Watch App Video Promotion.mp4 b/storage/demo/video/Apple Watch App Video Promotion.mp4
new file mode 100644
index 00000000..b61f7432
Binary files /dev/null and b/storage/demo/video/Apple Watch App Video Promotion.mp4 differ
diff --git a/storage/demo/video/Professional 3D Device Pack for Element 3D.mp4 b/storage/demo/video/Professional 3D Device Pack for Element 3D.mp4
new file mode 100644
index 00000000..68f8937b
Binary files /dev/null and b/storage/demo/video/Professional 3D Device Pack for Element 3D.mp4 differ
diff --git a/storage/demo/video/Smart Watch 3D Device Pack for Element 3D.mp4 b/storage/demo/video/Smart Watch 3D Device Pack for Element 3D.mp4
new file mode 100644
index 00000000..627dec5a
Binary files /dev/null and b/storage/demo/video/Smart Watch 3D Device Pack for Element 3D.mp4 differ
diff --git a/storage/demo/video/Sphere Bound 3D Titles.mp4 b/storage/demo/video/Sphere Bound 3D Titles.mp4
new file mode 100644
index 00000000..9fdd486b
Binary files /dev/null and b/storage/demo/video/Sphere Bound 3D Titles.mp4 differ