This is A Team management platform build With Nuxt and Laravel
- Nuxt 2.8
- Laravel 6
- SPA or SSR
- Socialite integration
- VueI18n + ESlint + Bootstrap 4 + Font Awesome 5 + ant-design-vue + trix + vform
- Login, register, email verification and password reset.
- Create teams, add people to team, invite people to team, create channels in a team, add people to a channel...
- Create messages, favor a ms & channel, copie ms, crud ms, follow ms, reply to a ms ...
- Create Post ...
composer create-project --prefer-dist cretueusebiu/laravel-nuxt
- Edit
.env
to set your database connection details andAPP_URL
(the url to your Laravel application) - (When installed via git clone or download, run
php artisan key:generate
andphp artisan jwt:secret
) php artisan migrate
npm install
npm run dev
You can access your application at http://localhost:3000
.
npm run build
You can access your application the url you set APP_URL
to.
- Remove
mode: 'spa'
and'~plugins/nuxt-client-init'
fromclient/nuxt.config.js
- Edit
.env
to setAPP_URL=http://api.example.com
andCLIENT_URL=http://example.com
- Run
npm run build
andnpm run start
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;
}
}
In production you need a process manager to keep the Node server alive forever:
# 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:
pm2 restart laravel-nuxt
Make sure to read the Nuxt docs.
This project comes with GitHub as an example for Laravel 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
.
To enable email verification make sure that your App\User
model implements the Illuminate\Contracts\Auth\MustVerifyEmail
contract.
- This project uses 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
intoclient/
and remove config path option from the scripts section. Also make sure to add the env variables inclient/.env
.
Please see CHANGELOG for more information what has changed recently.