{"id":13506851,"url":"https://github.com/fumeapp/laranuxt","last_synced_at":"2025-05-15T06:02:16.872Z","repository":{"id":37056816,"uuid":"162798520","full_name":"fumeapp/laranuxt","owner":"fumeapp","description":"Laravel and Nuxt.js boilerplate","archived":false,"fork":false,"pushed_at":"2024-12-10T00:52:11.000Z","size":13145,"stargazers_count":690,"open_issues_count":10,"forks_count":138,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-04-14T08:14:06.276Z","etag":null,"topics":["laravel","mdi","metapi","nuxt","nuxt-boilerplate","purgecss","stylus","tailwindcss","vuejs"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fumeapp.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-22T09:29:12.000Z","updated_at":"2025-04-12T08:39:27.000Z","dependencies_parsed_at":"2025-01-17T16:06:07.173Z","dependency_job_id":"0c2f7b83-7119-4935-a2e5-1cdf30916136","html_url":"https://github.com/fumeapp/laranuxt","commit_stats":{"total_commits":419,"total_committers":10,"mean_commits":41.9,"dds":0.2482100238663485,"last_synced_commit":"e15336bf2b8c99bef5e529edd2eaf9ad37c0cb8c"},"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fumeapp%2Flaranuxt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fumeapp%2Flaranuxt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fumeapp%2Flaranuxt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fumeapp%2Flaranuxt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fumeapp","download_url":"https://codeload.github.com/fumeapp/laranuxt/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254283336,"owners_count":22045140,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["laravel","mdi","metapi","nuxt","nuxt-boilerplate","purgecss","stylus","tailwindcss","vuejs"],"created_at":"2024-08-01T01:00:58.894Z","updated_at":"2025-05-15T06:02:16.831Z","avatar_url":"https://github.com/fumeapp.png","language":"PHP","funding_links":[],"categories":["Uncategorized","Starter Kits"],"sub_categories":["Uncategorized"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/fumeapp/laranuxt/main/resources/laranuxt.png\" width=\"200\" /\u003e\n\u003c/p\u003e\n\n## Laravel + Nuxt.js Boilerplate\n\n\u003e Now supporting [Nuxt v3](https://nuxt.com)\n\n\n**Are you using Laravel with vapor? want your Nuxt setup on lambda as well? [TRY FUME!](https://fume.app)**\n\n\n[![](https://img.shields.io/badge/nuxt.js-v3.7-04C690.svg)](https://nuxt.com)\n[![](https://img.shields.io/badge/Laravel-v11.0.0-ff2e21.svg)](https://laravel.com)\n[![MadeWithLaravel shield](https://madewithlaravel.com/storage/repo-shields/3372-shield.svg)](https://madewithlaravel.com/p/laranuxt/shield-link)\n\n![Test PHP](https://github.com/fumeapp/laranuxt/workflows/Test%20PHP/badge.svg)\n[![Lint Javascript](https://github.com/fumeapp/laranuxt/actions/workflows/lint-js.yml/badge.svg)](https://github.com/fumeapp/laranuxt/actions/workflows/lint-js.yml)\n[![Lint PHP](https://github.com/fumeapp/laranuxt/actions/workflows/lint-php.yml/badge.svg)](https://github.com/fumeapp/laranuxt/actions/workflows/lint-php.yml)\n\n![](resources/laranuxt.gif)\n\n\u003e Examples on using Dark Mode, authentication, and listing data\n\n### What is included\n\n* [NUXT v3](https://nuxt.com) front end, a progressive Vue.js framework - For Nuxt v2 visit [this branch](https://github.com/fumeapp/laranuxt/tree/nuxt2)\n  * [nuxt UI](https://ui.nuxt.com) a collection of components built by the NuxtJS team, powered by TailwindCSS\n  * [Authentication library](https://github.com/fumeapp/laranuxt#api-and-authentication) to assist with user sessions and logging in/out\n  * Example Authentication Middleware\n\n* [Laravel](https://laravel.com) - for our API - `v11.0.0`\n  * [Model Typer](https://github.com/fumeapp/modeltyper) - Generates Typescript interfaces from Laravel Models \n  * [MetAPI](https://github.com/fumeapp/metapi) - API helpers and utilities\n  * [humble](https://github.com/fumeapp/humble) - Passwordless sessioning with detailed device and location\n  * [debugbar](https://github.com/barryvdh/laravel-debugbar) - awesome debugbar for our API\n  * [ide-helper](https://github.com/barryvdh/laravel-ide-helper) - Helper files to enable help with IDE autocompletion\n\n### Installation\n\n* clone from GitHub\n* run `pnpm i` and `composer install` to install all of your deps\n* copy `.env.example` to `.env` and configure it to your likings\n* TL;DR\n ```bash\ngit clone git@github.com:fumeapp/laranuxt.git; cd laranuxt; pnpm i; composer install; cp .env.example .env;\n ```\n* Feel free to delete excess media in  `/resources/`\n\n\n### Local Environment\n* run `pnpm run dev` in one terminal for our nuxt dev setup\n* run `pnpm run api` (alias for `./artisan serve`) in another terminal for our laravel API\n\n### Api and Authentication\n\n* Api and auth can be accessed via the provided `Api` library\n\n```ts\nconst api = useApi()\nconsole.log(api.$user.name);\n```\n\n#### Authentication\n\n* Take a look at [HeaderLoginModal.vue](https://github.com/fumeapp/laranuxt/blob/main/client/components/header/HeaderLoginModal.vue#L143) to see how we pass the credentials to our library\n```ts\n  const redirect = await api.login(result)\n  if (redirect) await router.push({path: redirect})\n```\n* Once logged on, you have the ref\u003cboolean\u003e `api.loggedIn` and the object `api.$user`\n```html\n  \u003cimg class=\"w-8 h-8 rounded-full bg-blue-400\" :src=\"api.$user.avatar\" alt=\"User Avatar\"\u003e\n```\n\n#### API\nThe API class provides helper functions to easily retrieve, update, and remove data from your Laravel endpoints.  If you use and update [modeltyper](https://github.com/fumeapp/modeltyper) regularly you will always have completely typed results\n\n* To get a listing/index of data, use `api.index`\n```ts\nconst users = api.index\u003cmodels.UserResults\u003e('/user', { page: 1 })\n```\n\n* To get an individual by id, use `api.get`\n```ts\nconst users = api.get\u003cmodels.User\u003e('/user/1')\n```\n\n* To update with an id, use `api.put`\n```ts\nconst result = api.put\u003capi.MetapiResponse\u003e('/user/1', user)\n```\n\n* To store a new record, use `api.store`\n```ts\nconst result = api.store\u003capi.MetApiResponse\u003e('/user', { name: 'Bob', email: 'bob@mail.com' })\n```\n\n* To delete with an id, use `api.delete`\n```ts\nconst result = api.delete\u003capi.MetApiResponse\u003e('/user/1')\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffumeapp%2Flaranuxt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffumeapp%2Flaranuxt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffumeapp%2Flaranuxt/lists"}