├── .env.example
├── .eslintrc.js
├── .prettierrc.json
├── LICENSE.md
├── README.md
├── index.html
├── jsconfig.json
├── package.json
├── postcss.config.js
├── public
└── favicon.ico
├── src
├── App.vue
├── components
│ ├── ApplicationLogo.vue
│ ├── Checkbox.vue
│ ├── Dropdown.vue
│ ├── DropdownLink.vue
│ ├── InputError.vue
│ ├── InputLabel.vue
│ ├── NavLink.vue
│ ├── PrimaryButton.vue
│ ├── ResponsiveNavLink.vue
│ ├── TextInput.vue
│ └── ValidationErrors.vue
├── index.css
├── layouts
│ ├── AuthenticatedLayout.vue
│ └── GuestLayout.vue
├── lib
│ └── axios.js
├── main.js
├── pages
│ ├── Dashboard.vue
│ ├── Welcome.vue
│ ├── auth
│ │ ├── ForgotPassword.vue
│ │ ├── Login.vue
│ │ ├── Register.vue
│ │ ├── ResetPassword.vue
│ │ └── VerifyEmail.vue
│ └── errors
│ │ └── 404.vue
├── router
│ └── index.js
└── stores
│ └── user.js
├── tailwind.config.js
└── vite.config.js
/.env.example:
--------------------------------------------------------------------------------
1 | VITE_APP_NAME=Breeze Vue.js 3 Api
2 | VITE_PUBLIC_BACKEND_URL=http://localhost:8000
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | env: {
3 | browser: true,
4 | es2021: true,
5 | 'vue/setup-compiler-macros': true,
6 | },
7 | extends: [
8 | // 'eslint:recommended',
9 | 'plugin:vue/vue3-recommended',
10 | 'prettier',
11 | ],
12 | parser: 'vue-eslint-parser',
13 | parserOptions: {
14 | ecmaVersion: 'latest',
15 | sourceType: 'module',
16 | },
17 | plugins: ['vue'],
18 | rules: {
19 | 'vue/require-prop-types': 0,
20 | 'vue/multi-word-component-names': 'off',
21 | },
22 | }
23 |
--------------------------------------------------------------------------------
/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "arrowParens": "avoid",
3 | "bracketSameLine": true,
4 | "semi": false,
5 | "singleQuote": true,
6 | "tabWidth": 4,
7 | "trailingComma": "all"
8 | }
9 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Faisal Fajri
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Laravel Breeze - Vue.js 3 Edition
2 |
3 | ## Inspiration
4 |
5 | This project was inspired by the [Breeze Next.js](https://github.com/laravel/breeze-next) project. 🏝️
6 |
7 | ## Introduction
8 |
9 | This repository is an implementing of the [Laravel Breeze](https://laravel.com/docs/starter-kits) application / authentication starter kit frontend in [Vue.js](https://vuejs.org). All of the authentication boilerplate is already written for you - powered by [Laravel Sanctum](https://laravel.com/docs/sanctum), allowing you to quickly begin pairing your beautiful Vue.js frontend with a powerful Laravel backend.
10 |
11 | ## Documentation
12 |
13 | ### Installation
14 |
15 | First, create a Vue.js compatible Laravel backend by installing Laravel Breeze into a [fresh Laravel application](https://laravel.com/docs/installation) and installing Breeze's API scaffolding:
16 |
17 | ```bash
18 | # Create the Laravel application...
19 | laravel new vue-backend
20 |
21 | cd vue-backend
22 |
23 | # Install Breeze and dependencies...
24 | composer require laravel/breeze
25 |
26 | php artisan breeze:install api
27 | ```
28 |
29 | Next, ensure that your application's `APP_URL` and `FRONTEND_URL` environment variables are set to `http://localhost:8000` and `http://localhost:3000`, respectively.
30 |
31 | After defining the appropriate environment variables, you may serve the Laravel application using the `serve` Artisan command:
32 |
33 | ```bash
34 | # Serve the application...
35 | php artisan serve
36 | ```
37 |
38 | Next, clone this repository and install its dependencies with `yarn install` or `npm install`. Then, copy the `.env.example` file to `.env` and supply the URL of your backend:
39 |
40 | ```
41 | VITE_APP_NAME=Breeze Vue.js 3 Api
42 | VITE_PUBLIC_BACKEND_URL=http://localhost:8000
43 | ```
44 |
45 | Finally, run the application via `npm run dev`. The application will be available at `http://localhost:3000`:
46 |
47 | ```
48 | npm run dev
49 | ```
50 |
51 | > Note: Currently, we recommend using `localhost` during local development of your backend and frontend to avoid CORS "Same-Origin" issues.
52 |
53 | ## License
54 |
55 | Laravel Breeze - Vue.js 3 Edition is open-sourced software licensed under the [MIT license](LICENSE.md).
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
76 | Laravel has wonderful, thorough documentation
77 | covering every aspect of the framework. Whether
78 | you are new to the framework or have previous
79 | experience with Laravel, we recommend reading
80 | all of the documentation from beginning to end.
81 |
113 | Laracasts offers thousands of video tutorials on
114 | Laravel, PHP, and JavaScript development. Check
115 | them out, see for yourself, and massively level
116 | up your development skills in the process.
117 |
147 | Laravel News is a community driven portal and
148 | newsletter aggregating all of the latest and
149 | most important news in the Laravel ecosystem,
150 | including new package releases and tutorials.
151 |
152 |
153 |
154 |
155 |
157 |
158 |
169 |
171 | Vibrant Ecosystem
172 |
173 |
174 |
175 |
176 |
178 | Laravel's robust library of first-party tools
179 | and libraries, such as
180 | Forge,
185 | Vapor,
190 | Nova, and
195 | Envoyer
198 | help you take your projects to the next level.
199 | Pair them with powerful open source libraries
200 | like
201 | Cashier,
206 | Dusk,
211 | Echo,
216 | Horizon,
221 | Sanctum,
226 | Telescope, and more.
231 |
34 | Forgot your password? No problem. Just let us know your email
35 | address and we will email you a password reset link that will allow
36 | you to choose a new one.
37 |
36 | Thanks for signing up! Before getting started, could you verify your
37 | email address by clicking on the link we just emailed to you? If you
38 | didn't receive the email, we will gladly send you another.
39 |
40 |
41 |
42 | A new verification link has been sent to the email address you
43 | provided during registration.
44 |