Laravel provides the backend API, Nuxt serves as the frontend client, with both frontend and backend code in the same repository
laravel-nuxt — Nuxt Starter Template
By cretueusebiu
A Laravel and Nuxt decoupled starter kit with built-in login, registration, email verification, password reset, and Socialite third-party login, switchable between SPA and SSR.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 2
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Built-in login, registration, email verification, and password reset flows
Integrates Laravel Socialite with GitHub as an example third-party login
Frontend includes VueI18n, ESLint, Bootstrap 4, and Font Awesome 5
Can switch between SPA and SSR modes; SSR requires modifying configuration and environment variables
Template Details
This is a starter project template that uses Laravel as the backend API and Nuxt as the frontend client, suitable for web applications that need a Vue frontend paired with a Laravel backend. The repository contains both server-side and client-side code, with the frontend located in the client directory, where routes are manually maintained via Nuxt's router-module.
Functionally, the template already includes login, registration, email verification, and password reset flows, and integrates Laravel Socialite with GitHub as an example provider. The frontend uses VueI18n for internationalization, along with ESLint, Bootstrap 4, and Font Awesome 5. The project supports both SPA and SSR modes, defaulting to SPA; enabling SSR requires modifying nuxt.config.js and adjusting environment variables.
There are several clear limitations in usage: routes must be manually added in client/router.js; email verification requires the App\User model to implement the MustVerifyEmail contract; Socialite requires creating a GitHub application and configuring the client ID and secret. Production deployment requires an additional process management tool to keep the Node service running, with the README using pm2 as an example and providing an Nginx reverse proxy configuration example. The repository was last updated in 2021, and dependency versions are based on the manifest at that time.
Is it right for your project?
Use Cases
- Starting a new project that requires a Vue frontend and Laravel backend
- Wanting ready-made basic flows for login, registration, email verification, and password reset
- Web applications that need to integrate third-party login such as GitHub
- Nuxt projects that need to choose between SPA and SSR
Suitable For
- Developers familiar with the Laravel and Vue ecosystems
- Web application projects that require a decoupled frontend-backend structure
- Projects that want to start from an existing authentication flow and continue development
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Create the project using composer create-project --prefer-dist cretueusebiu/laravel-nuxt
- 2
Configure the database connection in .env; when installing via git clone or download, you also need to run php artisan key:generate and php artisan jwt:secret
- 3
Run php artisan migrate to complete database migrations, and run npm install to install frontend dependencies
- 4
During development, start php artisan serve and npm run dev separately, then visit http://localhost:3000
- 5
To enable SSR, set ssr: true in client/nuxt.config.js and configure APP_URL and CLIENT_URL; in production, a process management tool is needed to keep the Node service running
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope is the code of that version and does not imply that external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use, and distribution of this version's code are permitted.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- Uses router-module, so routes are not automatically generated and must be manually added in client/router.js.
- Email verification is not enabled by default; it becomes available only after the App\User model implements the MustVerifyEmail contract.
- Socialite third-party login requires creating a GitHub application yourself and configuring the callback URL, client ID, and secret.
- Production requires an additional process management tool (such as pm2) to keep the Node service running persistently.
- Runs as SPA by default; enabling SSR requires manually modifying nuxt.config.js and adjusting environment variables.
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses; the code's MIT license alone cannot be used to judge them.
- External services such as domain, hosting, database, payment, or AI may incur additional charges.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
This project uses [router-module](https://github.com/nuxt-community/router-module), so you have to add the routes manually in `client/router.js`.
Original README
To enable email verification make sure that your `App\User` model implements the `Illuminate\Contracts\Auth\MustVerifyEmail` contract.
Original README
To enable the provider create a new GitHub application and use `https://example.com/api/oauth/github/callback` as the Authorization callback URL.
Original README
In production you need a process manager to keep the Node server alive forever:
Original README
https://github.com/cretueusebiu/laravel-nuxt/blob/master/LICENSEhttps://github.com/cretueusebiu/laravel-nuxt/blob/master/README.mdEdit `client/nuxt.config.js` and set `ssr: true`
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-01. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 77 / 100
- Technologies
- Nuxt · Vue · Laravel
- Website type
- Starter
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2021-05-30
- Screenshot last checked
- 2026-10-01
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Nuxt as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: 4a3529d63b373d80c0f58ca8b85f39d062a0e60492cde009b25ada451d4838ea
2026-10-01T02:28:34.813Z
Source file / repository# Laravel-Nuxt
<a href="https://github.com/cretueusebiu/laravel-nuxt/actions"><img src="https://github.com/cretueusebiu/laravel-nuxt/workflows/tests/badge.svg" alt="Build Status"></a>
<a href="https://packagist.org/packages/cretueusebiu/laravel-nuxt"><img src="https://poser.pugx.org/cretueusebiu/laravel-nuxt/d/total.svg" alt="Total Downloads"></a>
<a href="https://packagist.org/packages/cretueusebiu/laravel-nuxt"><img src="https://poser.pugx.org/cretueusebiu/laravel-nuxt/v/stable.svg" alt="Latest Stable Version"></a>
> A Laravel-Nuxt starter project template.
<p align="center">
<img src="https://i.imgur.com/NHFTsGt.png">
</p>
## Features
- Nuxt 2
- Laravel 8
- SPA or SSR
- Socialite integration
- VueI18n + ESlint + Bootstrap 4 + Font Awesome 5
- Login, register, email verification and password reset
## Installation
- `composer create-project --prefer-dist cretueusebiu/laravel-nuxt`
- Edit `.env` and set your database connection details
- (When installed via git clone or download, run `php artisan key:generate` and `php artisan jwt:secret`)
- `php artisan migrate`
- `npm install`
## Usage
### Development
```bash
# start Laravel
php artisan serve
# start Nuxt
npm run dev
```
Access your application at `http://localhost:3000`.
### Production
```bash
npm run build
```
### Enable SSR
- Edit `client/nuxt.config.js` and set `ssr: true`
- Edit `.env` to set `APP_URL=http://api.example.com` and `CLIENT_URL=http://example.com`
- Run `npm run build` and `npm run start`
#### Nginx Proxy
For Nginx you can add a proxy using the follwing location block:
```
server {
location / {
proxy_pass http://http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
```
#### Process Manager
In production you need a process manager to keep the Node server alive forever:
```bash
# install pm2 process manager
npm install -g pm2
# startup script
pm2 startup
# start process
pm2 start npm --name "laravel-nuxt" -- run start
# save process list
pm2 save
# list all processes
pm2 l
```
After each deploy you'll need to restart the process:
```bash
pm2 restart laravel-nuxt
```
Make sure to read the [Nuxt docs](https://nuxtjs.org/).
## Socialite
This project comes with GitHub as an example for [Laravel Socialite](https://laravel.com/docs/5.8/socialite).
To enable the provider create a new GitHub application and use `https://example.com/api/oauth/github/callback` as the Authorization callback URL.
Edit `.env` and set `GITHUB_CLIENT_ID` and `GITHUB_CLIENT_SECRET` with the keys form your GitHub application.
For other providers you may need to set the appropriate keys in `config/services.php` and redirect url in `OAuthController.php`.
## Email Verification
To enable email verification make sure that your `App\User` model implements the `Illuminate\Contracts\Auth\MustVerifyEmail` contract.
## Notes
- This project uses [router-module](https://github.com/nuxt-community/router-module), so you have to add the routes manually in `client/router.js`.
- If you want to separate this in two projects (client and server api), move `package.json` into `client/` and remove config path option from the scripts section. Also make sure to add the env variables in `client/.env`.
## Changelog
Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.
Explore similar templates
Compare previews and descriptions within the same stack and category.

canvas
Canvas is a Nuxt-based portfolio template that uses Nuxt Content for content management and Nuxt UI with Tailwind CSS for pages.
Nuxt · Portfolio

nuxt3-starter
A Nuxt 3 starter template generated by nuxi, preconfigured with UnoCSS, unplugin-icons, Pinia, and VueUse. It suits developers who need a quick Nuxt 3 project skeleton with atomic CSS and auto-import workflows, and is available under the MIT license.
Nuxt · Starter

starter
The official Nuxt starter template for Nuxt UI, based on Nuxt and Vue. It provides a runnable project skeleton, an online demo, and Nuxt UI installation documentation, with README commands for creating, installing, developing, building, and previewing.
Nuxt · Starter

bloggrify
Bloggrify is a Nuxt layer that turns Markdown files into a blog site, built on Nuxt Content with preconfigured analytics, newsletter, comments, SEO, RSS, and content components.
Nuxt · Blog

vitify-nuxt
Vitify Nuxt is an admin dashboard starter template built on Nuxt and Vuetify, featuring a drawer layout, automatic navigation and breadcrumbs, notification state, ECharts charts, theming and dark mode, and authentication via nuxt-auth-utils.
Nuxt · Admin dashboard

supaAuth
A Nuxt 4 + Supabase authentication starter template with built-in email and password login and registration pages, using Supabase Auth as the backend and integrating with the Nuxt Composition API.
Nuxt · Starter
