55 | Your landing goes here 56 |
57 |├── database
├── .gitignore
├── seeders
│ └── DatabaseSeeder.php
├── migrations
│ ├── 0001_01_01_000001_create_cache_table.php
│ ├── 2025_01_25_140923_create_personal_access_tokens_table.php
│ ├── 2025_01_29_181350_add_two_factor_columns_to_users_table.php
│ ├── 0001_01_01_000000_create_users_table.php
│ └── 0001_01_01_000002_create_jobs_table.php
└── factories
│ └── UserFactory.php
├── storage
├── logs
│ └── .gitignore
├── app
│ ├── private
│ │ └── .gitignore
│ ├── public
│ │ └── .gitignore
│ └── .gitignore
└── framework
│ ├── testing
│ └── .gitignore
│ ├── views
│ └── .gitignore
│ ├── cache
│ ├── data
│ │ └── .gitignore
│ └── .gitignore
│ ├── sessions
│ └── .gitignore
│ └── .gitignore
├── public
├── robots.txt
├── favicon.png
├── index.php
└── .htaccess
├── resources
├── js
│ ├── types
│ │ ├── vite-env.d.ts
│ │ ├── global.d.ts
│ │ └── index.d.ts
│ ├── bootstrap.ts
│ ├── lib
│ │ └── utils.ts
│ ├── components
│ │ ├── ui
│ │ │ ├── skeleton.tsx
│ │ │ ├── error-feedback.tsx
│ │ │ ├── label.tsx
│ │ │ ├── separator.tsx
│ │ │ ├── collapsible.tsx
│ │ │ ├── sonner.tsx
│ │ │ ├── input.tsx
│ │ │ ├── avatar.tsx
│ │ │ ├── badge.tsx
│ │ │ ├── alert.tsx
│ │ │ ├── tooltip.tsx
│ │ │ ├── ripple.tsx
│ │ │ ├── button.tsx
│ │ │ ├── input-otp.tsx
│ │ │ ├── breadcrumb.tsx
│ │ │ ├── dialog.tsx
│ │ │ ├── sheet.tsx
│ │ │ └── alert-dialog.tsx
│ │ ├── nav-secondary.tsx
│ │ ├── theme-provider.tsx
│ │ ├── app-breadcrumb.tsx
│ │ ├── app-sidebar.tsx
│ │ ├── app-command.tsx
│ │ ├── nav-main.tsx
│ │ ├── project-switcher.tsx
│ │ └── confirm-with-password.tsx
│ ├── hooks
│ │ ├── use-mobile.ts
│ │ └── use-mobile.tsx
│ ├── app.tsx
│ ├── Pages
│ │ ├── Security
│ │ │ └── Show.tsx
│ │ ├── Dashboard.tsx
│ │ ├── Profile
│ │ │ ├── Show.tsx
│ │ │ └── Partials
│ │ │ │ └── UpdatePasswordForm.tsx
│ │ ├── Auth
│ │ │ ├── ForgotPasswordSent.tsx
│ │ │ ├── TwoFactorChallenge.tsx
│ │ │ ├── VerifyEmail.tsx
│ │ │ ├── ForgotPassword.tsx
│ │ │ ├── Login.tsx
│ │ │ └── PasswordReset.tsx
│ │ └── Welcome.tsx
│ ├── layouts
│ │ ├── AuthenticationLayout.tsx
│ │ └── AuthenticatedLayout.tsx
│ └── ssr.tsx
└── views
│ └── app.blade.php
├── postcss.config.js
├── tests
├── Unit
│ └── ExampleTest.php
├── Feature
│ ├── ExampleTest.php
│ ├── Auth
│ │ ├── RegistrationTest.php
│ │ ├── PasswordConfirmationTest.php
│ │ ├── AuthenticationTest.php
│ │ ├── EmailVerificationTest.php
│ │ ├── PasswordResetTest.php
│ │ └── PasswordUpdateTest.php
│ └── ProfileTest.php
├── TestCase.php
└── Pest.php
├── app
├── Http
│ ├── Controllers
│ │ ├── Controller.php
│ │ ├── Auth
│ │ │ └── ConfirmablePasswordController.php
│ │ └── Account
│ │ │ ├── SecurityController.php
│ │ │ ├── SessionController.php
│ │ │ └── ProfileController.php
│ ├── Requests
│ │ ├── ProfileUpdateRequest.php
│ │ └── Auth
│ │ │ └── LoginRequest.php
│ └── Middleware
│ │ └── HandleInertiaRequests.php
├── Actions
│ └── Fortify
│ │ ├── PasswordValidationRules.php
│ │ ├── ResetUserPassword.php
│ │ ├── UpdateUserPassword.php
│ │ ├── CreateNewUser.php
│ │ └── UpdateUserProfileInformation.php
├── Providers
│ ├── AppServiceProvider.php
│ └── FortifyServiceProvider.php
└── Models
│ ├── Session.php
│ └── User.php
├── bootstrap
├── providers.php
├── app.php
└── cache
│ └── packages.php
├── .prettierrc
├── .gitattributes
├── .editorconfig
├── .env.testing
├── artisan
├── .gitignore
├── vite.config.js
├── components.json
├── tsconfig.json
├── .prettierignore
├── config
├── services.php
├── filesystems.php
├── cache.php
├── mail.php
├── queue.php
├── auth.php
├── app.php
└── logging.php
├── routes
├── web.php
└── auth.php
├── phpunit.xml
├── .env.example
├── docs
└── getting-started.md
├── eslint.config.js
├── package.json
├── composer.json
└── README.md
/database/.gitignore:
--------------------------------------------------------------------------------
1 | *.sqlite*
2 |
--------------------------------------------------------------------------------
/storage/logs/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Disallow:
3 |
--------------------------------------------------------------------------------
/storage/app/private/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/app/public/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/testing/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/views/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/cache/data/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/sessions/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/cache/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !data/
3 | !.gitignore
4 |
--------------------------------------------------------------------------------
/storage/app/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !private/
3 | !public/
4 | !.gitignore
5 |
--------------------------------------------------------------------------------
/resources/js/types/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
10 | {message} 11 |
12 | ) : null; 13 | } 14 | -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import react from '@vitejs/plugin-react'; 2 | import laravel from 'laravel-vite-plugin'; 3 | import { defineConfig } from 'vite'; 4 | 5 | export default defineConfig({ 6 | plugins: [ 7 | laravel({ 8 | input: 'resources/js/app.tsx', 9 | ssr: 'resources/js/ssr.tsx', 10 | refresh: true, 11 | }), 12 | react(), 13 | ], 14 | alias: { 15 | '@/*': './resources/js/*', 16 | }, 17 | }); 18 | -------------------------------------------------------------------------------- /resources/js/types/global.d.ts: -------------------------------------------------------------------------------- 1 | import { PageProps as InertiaPageProps } from '@inertiajs/core'; 2 | import { AxiosInstance } from 'axios'; 3 | import { route as ziggyRoute } from 'ziggy-js'; 4 | import { PageProps as AppPageProps } from './'; 5 | 6 | declare global { 7 | interface Window { 8 | axios: AxiosInstance; 9 | } 10 | 11 | var route: typeof ziggyRoute; 12 | } 13 | 14 | declare module '@inertiajs/core' { 15 | interface PageProps extends InertiaPageProps, AppPageProps {} 16 | } 17 | -------------------------------------------------------------------------------- /resources/js/types/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Config } from 'ziggy-js'; 2 | 3 | export interface User { 4 | id: number; 5 | name: string; 6 | email: string; 7 | email_verified_at?: string; 8 | profile_photo_url: string | undefined; 9 | two_factor_confirmed_at: string | null; 10 | } 11 | 12 | export type PageProps< 13 | T extends Record18 | We have sent a password reset link to your email 19 | address. Please check your inbox and follow the 20 | instructions to reset your password. 21 |
22 |51 | Please enter the one-time password from your authenticator 52 | app. 53 |
54 | 55 | {errors &&55 | Your landing goes here 56 |
57 |50 | Ensure your account is using a long, random password to stay 51 | secure. 52 |
53 |