A Laravel 12 application with Vue on the frontend and a simple Metrics API.
- Requirements: PHP 8.4+, Composer, Node 22+, npm, SQLite (or another DB).
- Install dependencies:
composer installnpm install
- Environment:
- Copy
.env.exampleto.env - Set
APP_URL,APP_NAME, and database settings (defaults work withdatabase/database.sqlite) php artisan key:generate
- Copy
- Database:
- Create
database/database.sqliteif it does not exist php artisan migrate
- Create
- Run:
npm run dev(Vite)php artisan serve
All endpoints return JSON. Base path: /api/metrics.
-
GET
/api/metrics/monthly-sales- Response:
{ "label": "Monthly Sales", "value": number }
- Response:
-
GET
/api/metrics/open-deals- Response:
{ "label": "Open Deals", "value": number }
- Response:
-
GET
/api/metrics/active-accounts- Response:
{ "label": "Active Accounts", "value": number }
- Response:
-
GET
/api/metrics/daily-sales- Response:
{ "label": "Daily Sales (last 30 days)", "values": [{date: number}] }
- Response:
- API routes:
routes/api.phpunder themetricsprefix - Controller:
App/Http/Controllers/MetricsController.php - Frontend: Vite + Vue in
resources/js
php artisan testor./vendor/bin/pest
MIT