Skip to content

Track your Key Performance Indicators, Metrics and Business Data with insightful KPI Dashboards and Reports

License

Notifications You must be signed in to change notification settings

fkadeal/KPI_Project

Repository files navigation

KPI_Project

Track your Key Performance Indicators, Metrics and Business Data with insightful KPI Dashboards and Reports Build Status Total Downloads Latest Stable Version

A Laravel-Nuxt starter project template.

All these tools in one place

A dashboard icon showing a dark theme and 4 graphs Dashboards
Quickly bring your data to life with interactive charts and graphs

        <p>
            <amp-img alt="A report icon displaying a blue line graph" width="180px" height="130px" src="https://cdn.simplekpi.com/images/SVGs/Home-KPI-Reports-Tool.svg" class="i-amphtml-element i-amphtml-layout-fixed i-amphtml-layout-size-defined i-amphtml-built i-amphtml-layout" i-amphtml-layout="fixed" style="width: 180px; height: 130px;">
            <img decoding="async" alt="A report icon displaying a blue line graph" src="https://cdn.simplekpi.com/images/SVGs/Home-KPI-Reports-Tool.svg" class="i-amphtml-fill-content i-amphtml-replaced-content"></amp-img>
            <span><strong>Reports</strong><br>Create and share meaningful insights with teams and colleagues</span>
        </p>
        <p>
            <amp-img alt="An analytics icon of a monitor showing a magnifiying glass on top of a chart" width="180px" height="130px" src="https://cdn.simplekpi.com/images/SVGs/Home-KPI-Analytics-Tool.svg" class="i-amphtml-element i-amphtml-layout-fixed i-amphtml-layout-size-defined i-amphtml-built i-amphtml-layout" i-amphtml-layout="fixed" style="width: 180px; height: 130px;">
            <img decoding="async" alt="An analytics icon of a monitor showing a magnifiying glass on top of a chart" src="https://cdn.simplekpi.com/images/SVGs/Home-KPI-Analytics-Tool.svg" class="i-amphtml-fill-content i-amphtml-replaced-content"></amp-img>
            <span><strong>Analytics</strong><br>Analyze the ups and downs to make sense of your data</span>
        </p>
    </div>

Features

rack your Key Performance Indicators, Metrics and Business Data with insightful KPI Dashboards and Reports

  • 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

# start Laravel
php artisan serve

# start Nuxt
npm run dev

Access your application at http://localhost:3000.

Production

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:

# 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.

Socialite

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.

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, 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 for more information what has changed recently.

About

Track your Key Performance Indicators, Metrics and Business Data with insightful KPI Dashboards and Reports

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published