This project costs me $22/month to be hosted on Vultr.
Please consider supporting my work if you use & find it useful. β€οΈ
A Laravel + Socialite + Vite + Vue 3 + TailwindCSS SPA Boilerplate. Laravel with user authentication, registration with email verification, social media authentication, password recovery, user management, and roles/permissions management. Uses official TailwindCSS. While the front end is part of this repository it is a completely separated Vue 3 front end compiled using ViteJS.
- Laravel
- Sanctum
- Socialite
- Vite
- Vue 3
- TailwindCSS (w/
@tailwindcss/forms
and@tailwindcss/aspect-ratio
) - Vue Router
- Vuex
- Axios
- Headless UI
- Heroicons
- Font Awesome 6
- ESLint with Prettier
- Users Area
- Admin Area
- About Page
- Terms Page
- Users Managemenet
- User Impersonation
- User Data Download
- User Account Self Deletion.
- Manage Social Media Logins through GUI
- Roles Management
- Permissions Management
- Google Analytics (optional)
- Social Authentication with Facebook, Twitter, Instagram, GitHub, TikTok, Google, YouTube, Microsoft, Twitch, and Apple
- Optional Sentry.io Laravel Monitoring
- Optional Sentry.io VueJs Monitoring
- Run
git clone https://github.com/jeremykenedy/laravel-spa.git laravel-spa
- Create a MySQL database for the project
mysql -u root -p
, if using Vagrant:mysql -u homestead -psecret
create database laravelSpa;
\q
- From the projects root run
cp .env.example .env
- Configure your
.env
file (VERY IMPORTANT) - Run
composer install
from the projects root folder - From the projects root folder run
sudo chmod -R 755 ../laravel-spa
- From the projects root folder run
php artisan key:generate
- From the projects root folder run
php artisan migrate
- From the projects root folder run
composer dump-autoload
- From the projects root folder run
php artisan db:seed
- Compile the front end assets with npm steps or yarn steps.
- From the projects root folder run
npm install
- From the projects root folder run
npm run dev
ornpm run build
- You can lint assets with
npm run lint
- You can clean the syntax with
npm run clean
- From the projects root folder run
yarn install
- From the projects root folder run
yarn run dev
oryarn run build
- You can lint assets with
yarn run lint
- You can clean the syntax with
yarn run clean
- From the projects root folder run
php artisan config:cache
Password | |
---|---|
superadmin@superadmin.com | password |
admin@admin.com | password |
user@user.com | password |
- Facebook API (Will work with local dev callback)
- Twitter API
- Instagram API
- GitHub API (Will work with local dev callback)
- YouTube API
- Google API
- LinkedIn API (Will work with local dev callback)
- Twitch API (Will work with local dev callback)
- Microsoft API
- TikTok API
- Apple API
- ZoHo API (Will work with local dev callback)
- StackExchange API (Will work with local dev callback)
- GitLab API (Will work with local dev callback)
- Reddit API Register (Will work with local dev callback)
- Snapchat API
- Meetup API
- Atlassian
- See full list of providers: https://socialiteproviders.github.io
LaravelSpa
βββ .browserslistrc
βββ .editorconfig
βββ .env.example
βββ .env.travis
βββ .eslintrc.js
βββ .gitattributes
βββ .github
β βββ FUNDING.yml
β βββ dependabot.yml
β βββ labeler.yml
β βββ workflows
β βββ changelog.yml
β βββ codeql.yml
β βββ create-release.yml
β βββ dependency-review.yml
β βββ deploy.yml
β βββ gitguardian.yml
β βββ greetings.yml
β βββ labeler.yml
β βββ laravel.yml
β βββ manual.yml
β βββ node.js.yml
β βββ php.yml
β βββ release.yml
β βββ sentry.yml
β βββ stale.yml
βββ .gitignore
βββ .npmrc
βββ .prettierignore
βββ .scripts
β βββ deploy.sh
βββ .styleci.yml
βββ .travis.yml
βββ LICENSE
βββ README.md
βββ SECURITY.md
βββ app
β βββ Console
β β βββ Kernel.php
β βββ Exceptions
β β βββ Handler.php
β β βββ SocialProviderDeniedException.php
β βββ Http
β β βββ Controllers
β β β βββ AppSettingsController.php
β β β βββ AppleSocialController.php
β β β βββ Auth
β β β β βββ AuthController.php
β β β β βββ ForgotPasswordController.php
β β β β βββ PasswordController.php
β β β β βββ RegisterController.php
β β β β βββ ResetPasswordController.php
β β β β βββ SocialiteController.php
β β β β βββ VerificationController.php
β β β βββ Controller.php
β β β βββ DashboardController.php
β β β βββ ImpersonateController.php
β β β βββ PermissionsController.php
β β β βββ ProfileController.php
β β β βββ RolesController.php
β β β βββ ServerInfoController.php
β β β βββ UserController.php
β β β βββ UsersController.php
β β βββ Kernel.php
β β βββ Middleware
β β β βββ AddContentSecurityPolicyHeaders.php
β β β βββ Authenticate.php
β β β βββ EncryptCookies.php
β β β βββ PreventRequestsDuringMaintenance.php
β β β βββ RedirectIfAuthenticated.php
β β β βββ TrimStrings.php
β β β βββ TrustHosts.php
β β β βββ TrustProxies.php
β β β βββ VerifyCsrfToken.php
β β βββ Requests
β β β βββ AppSettings
β β β βββ Permissions
β β β β βββ CreatePermissionRequest.php
β β β β βββ GetPermissionsRequest.php
β β β β βββ UpdatePermissionRequest.php
β β β βββ Roles
β β β β βββ CreateRoleRequest.php
β β β β βββ UpdateRoleRequest.php
β β β βββ Users
β β β βββ CreateUserRequest.php
β β β βββ GetUserRolesRequest.php
β β β βββ ImpersonateUserRequest.php
β β β βββ UpdateUserRequest.php
β β βββ Resources
β β βββ Permissions
β β β βββ PermissionResource.php
β β β βββ PermissionsCollection.php
β β βββ Users
β β βββ RoleResource.php
β β βββ RolesCollection.php
β βββ Jobs
β β βββ PersonalDataExportJob.php
β βββ Mail
β β βββ ExceptionOccured.php
β βββ Models
β β βββ Impersonation.php
β β βββ Permission.php
β β βββ Role.php
β β βββ Setting.php
β β βββ SocialiteProvider.php
β β βββ User.php
β βββ Notifications
β β βββ PersonalDataExportedNotification.php
β β βββ ResetPasswordNotification.php
β β βββ VerifyEmailNotification.php
β βββ Providers
β β βββ AppServiceProvider.php
β β βββ AuthServiceProvider.php
β β βββ BroadcastServiceProvider.php
β β βββ EventServiceProvider.php
β β βββ RouteServiceProvider.php
β β βββ ViewComposerServiceProvider.php
β βββ Services
β β βββ AppleToken.php
β βββ Traits
β β βββ AppSettingsTrait.php
β β βββ SocialiteProvidersTrait.php
β βββ View
β βββ Composers
β βββ GaComposer.php
β βββ GaEnabledComposer.php
βββ artisan
βββ bootstrap
β βββ android-chrome-192x192.png
β βββ android-chrome-512x512.png
β βββ app.php
β βββ apple-touch-icon.png
β βββ cache
β β βββ .gitignore
β β βββ packages.php
β β βββ routes-v7.php
β β βββ services.php
β βββ favicon-16x16.png
β βββ favicon-32x32.png
β βββ favicon.ico
β βββ ssr
β βββ android-chrome-192x192.png
β βββ android-chrome-512x512.png
β βββ app2.mjs
β βββ apple-touch-icon.png
β βββ assets
β β βββ About-8055ba51.mjs
β β βββ Account-db07883a.mjs
β β βββ Admin-1aef526f.mjs
β β βββ AdminLayout-b06d3e9f.mjs
β β βββ AppSettings-493dc486.mjs
β β βββ Dashboard-00d0a96f.mjs
β β βββ Errors-cfd7b346.mjs
β β βββ ForgotPassword-ca93934f.mjs
β β βββ Home-092f52e0.mjs
β β βββ Login-3d895534.mjs
β β βββ NotFound-52f67599.mjs
β β βββ Password-0f549b05.mjs
β β βββ Permissions-d779932d.mjs
β β βββ PhpInfo-c54b8303.mjs
β β βββ Profile-8dc4ce3e.mjs
β β βββ Register-c8d7fa41.mjs
β β βββ ResetPassword-4e7ca3b7.mjs
β β βββ Roles-53fcb449.mjs
β β βββ RolesBadges-5ee6b7bc.mjs
β β βββ Settings-a3568c63.mjs
β β βββ SocialiteLogins-6af0e372.mjs
β β βββ Success-4b3d058c.mjs
β β βββ Terms-3b1605fc.mjs
β β βββ Users-fcead5b0.mjs
β β βββ VerifyEmail-3b245fb1.mjs
β β βββ default.css_vue_type_style_index_0_src_true_lang-6d22712f.mjs
β β βββ workbox-window.prod.es5-77e1b1e1.mjs
β β βββ zoho-monocrome-black-b48ed5c0.mjs
β βββ favicon-16x16.png
β βββ favicon-32x32.png
β βββ favicon.ico
β βββ js-bundle-stats.html
β βββ manifest.webmanifest
β βββ pluginWebUpdateNotice
β βββ webUpdateNoticeInjectScript.global.js
β βββ webUpdateNoticeInjectStyle.css
β βββ web_version_by_plugin.json
βββ composer.json
βββ composer.lock
βββ config
β βββ app.php
β βββ auth.php
β βββ broadcasting.php
β βββ cache.php
β βββ cors.php
β βββ database.php
β βββ debugbar.php
β βββ exceptions.php
β βββ filesystems.php
β βββ hashing.php
β βββ laravel-https.php
β βββ laravel-logger.php
β βββ laravel-page-speed.php
β βββ laravelpwa.php
β βββ logging.php
β βββ mail.php
β βββ personal-data-export.php
β βββ queue.php
β βββ roles.php
β βββ sanctum.php
β βββ sentry.php
β βββ services.php
β βββ session.php
β βββ settings.php
β βββ users.php
β βββ view.php
βββ database
β βββ .gitignore
β βββ factories
β β βββ UserFactory.php
β βββ migrations
β β βββ 2014_10_00_000000_create_settings_table.php
β β βββ 2014_10_00_000001_add_group_column_on_settings_table.php
β β βββ 2014_10_12_000000_create_users_table.php
β β βββ 2014_10_12_100000_create_password_resets_table.php
β β βββ 2016_01_15_105324_create_roles_table.php
β β βββ 2016_01_15_114412_create_role_user_table.php
β β βββ 2016_01_26_115212_create_permissions_table.php
β β βββ 2016_01_26_115523_create_permission_role_table.php
β β βββ 2016_02_09_132439_create_permission_user_table.php
β β βββ 2019_08_19_000000_create_failed_jobs_table.php
β β βββ 2019_12_14_000001_create_personal_access_tokens_table.php
β β βββ 2021_04_26_093603_create_jobs_table.php
β β βββ 2022_09_05_192055_update_users_table.php
β β βββ 2022_11_02_051027_update_settings_table.php
β β βββ 2022_11_28_073632_create_socialite_providers_table.php
β β βββ 2022_12_06_061947_create_impersonations_table.php
β βββ seeders
β βββ AppSettingsSeeder.php
β βββ ConnectRelationshipsSeeder.php
β βββ DatabaseSeeder.php
β βββ PermissionsTableSeeder.php
β βββ RolesTableSeeder.php
β βββ UsersTableSeeder.php
βββ env.d.ts
βββ package-lock.json
βββ package.json
βββ phpunit.xml
βββ postcss.config.js
βββ prettier.config.js
βββ prettierrc.json
βββ public
β βββ .htaccess
β βββ android-chrome-192x192.png
β βββ android-chrome-512x512.png
β βββ apple-touch-icon.png
β βββ css
β β βββ app.css
β βββ favicon-16x16.png
β βββ favicon-32x32.png
β βββ favicon.ico
β βββ images
β β βββ icons
β β βββ icon-128x128.png
β β βββ icon-144x144.png
β β βββ icon-152x152.png
β β βββ icon-192x192.png
β β βββ icon-384x384.png
β β βββ icon-512x512.png
β β βββ icon-72x72.png
β β βββ icon-96x96.png
β β βββ splash-1125x2436.png
β β βββ splash-1242x2208.png
β β βββ splash-1242x2688.png
β β βββ splash-1536x2048.png
β β βββ splash-1668x2224.png
β β βββ splash-1668x2388.png
β β βββ splash-2048x2732.png
β β βββ splash-640x1136.png
β β βββ splash-750x1334.png
β β βββ splash-828x1792.png
β βββ index.php
β βββ js
β β βββ app.js
β β βββ resources_js_Views_ForgotPassword_vue.js
β β βββ resources_js_Views_Home_vue.js
β β βββ resources_js_Views_Login_vue.js
β β βββ resources_js_Views_Password_vue.js
β β βββ resources_js_Views_Profile_vue.js
β β βββ resources_js_Views_Register_vue.js
β β βββ resources_js_Views_ResetPassword_vue.js
β β βββ resources_js_Views_Settings_vue.js
β β βββ resources_js_Views_VerifyEmail_vue.js
β β βββ resources_js_Views_Welcome_vue.js
β β βββ s-code.min.js
β βββ mix-manifest.json
β βββ robots.txt
β βββ serviceworker.js
β βββ sw.ts
β βββ web.config
βββ resources
β βββ css
β β βββ app.css
β β βββ normalize.css
β βββ img
β β βββ 404.png
β β βββ favicon
β β β βββ android-chrome-192x192.png
β β β βββ android-chrome-512x512.png
β β β βββ apple-touch-icon.png
β β β βββ favicon-16x16.png
β β β βββ favicon-32x32.png
β β β βββ favicon.ico
β β βββ plugs.png
β β βββ vendor-logos
β β βββ vultr-1.webp
β β βββ vultr-2.png
β β βββ zoho-monocrome-black.png
β β βββ zoho-monocrome-white.png
β βββ js
β β βββ app.js
β β βββ bootstrap.js
β β βββ components
β β β βββ AppFooter.vue
β β β βββ AppNav.vue
β β β βββ BmcButtons.vue
β β β βββ CircleSvg.vue
β β β βββ Errors.vue
β β β βββ GHButton.vue
β β β βββ GHButtons.vue
β β β βββ OctoCat.vue
β β β βββ Pagination.vue
β β β βββ PatreonButton.vue
β β β βββ PerPage.vue
β β β βββ ReloadPrompt.vue
β β β βββ Success.vue
β β β βββ VerifyNotice.vue
β β β βββ VultrReferral.vue
β β β βββ account
β β β β βββ AccountAdministration.vue
β β β β βββ AccountAuthentication.vue
β β β β βββ AccountData.vue
β β β β βββ AccountPrivacy.vue
β β β βββ admin
β β β β βββ AdminNavBar.vue
β β β β βββ AdminSidebar.vue
β β β β βββ RolesTable.vue
β β β β βββ RolesTableRow.vue
β β β β βββ UsersTable.vue
β β β β βββ UsersTableRow.vue
β β β βββ auth
β β β β βββ SocialiteLogins.vue
β β β βββ common
β β β β βββ AppButton.vue
β β β β βββ AppDeleteModal.vue
β β β β βββ AppModal.vue
β β β β βββ AppSwitch.vue
β β β β βββ AppTable.vue
β β β β βββ AppToast.vue
β β β βββ form
β β β β βββ AppSettingTextInput.vue
β β β β βββ AppSettingTextarea.vue
β β β β βββ AppSettingToggle.vue
β β β βββ loaders
β β β β βββ AnimatedTableLoader.vue
β β β βββ roles
β β β β βββ PermissionFormModal.vue
β β β β βββ RoleFormModal.vue
β β β β βββ RolesBadges.vue
β β β βββ users
β β β βββ UserDownloadData.vue
β β β βββ UserForm.vue
β β β βββ UserFormModal.vue
β β βββ layouts
β β β βββ AdminLayout.vue
β β βββ middleware
β β β βββ auth.js
β β β βββ guest.js
β β β βββ middlewarePipeline.js
β β β βββ roleAdmin.js
β β β βββ roleSuperAdmin.js
β β β βββ roleUser.js
β β βββ router
β β β βββ index.js
β β β βββ routes.js
β β βββ services
β β β βββ analytics.js
β β β βββ asteroids.js
β β β βββ common.js
β β β βββ excanvas.js
β β β βββ s-code.js
β β β βββ s-code.min.js
β β β βββ users.js
β β βββ store
β β β βββ index.js
β β β βββ modules
β β β β βββ auth.js
β β β β βββ sidebar.js
β β β β βββ toast.js
β β β βββ mutation-types.js
β β βββ views
β β βββ App.vue
β β βββ Blank.vue
β β βββ admin
β β β βββ Admin.vue
β β β βββ AppSettings.vue
β β β βββ Permissions.vue
β β β βββ PhpInfo.vue
β β β βββ Roles.vue
β β β βββ Users.vue
β β βββ pages
β β βββ About.vue
β β βββ Dashboard.vue
β β βββ ForgotPassword.vue
β β βββ Home.vue
β β βββ Login.vue
β β βββ NotFound.vue
β β βββ Register.vue
β β βββ ResetPassword.vue
β β βββ Terms.vue
β β βββ VerifyEmail.vue
β β βββ auth
β β βββ settings
β β βββ Account.vue
β β βββ Password.vue
β β βββ Profile.vue
β β βββ Settings.vue
β βββ lang
β β βββ en
β β βββ auth.php
β β βββ pagination.php
β β βββ passwords.php
β β βββ personal-data-exports.php
β β βββ validation.php
β βββ views
β βββ app.blade.php
β βββ emails
β β βββ exception.blade.php
β βββ errors
β β βββ 401.blade.php
β β βββ 403.blade.php
β β βββ 500.blade.php
β β βββ 503.blade.php
β β βββ layout.blade.php
β βββ socialite
β β βββ callback.blade.php
β β βββ denied.blade.php
β βββ welcome.blade.php
βββ routes
β βββ api.php
β βββ channels.php
β βββ console.php
β βββ web.php
βββ server.php
βββ tailwind.config.js
βββ tailwindcss-perspective.js
βββ tsconfig.json
βββ tsconfig.vite-config.json
βββ vite.config.ts
76 directories, 380 files
- Tree command can be installed using brew:
brew install tree
- File tree generated using command
tree -a -I '.git|node_modules|vendor|build|storage|tests|.DS_Store|.env'
Laravel-Spa is licensed under the MIT license. Enjoy!