{"id":13504691,"url":"https://github.com/laqul/laqul","last_synced_at":"2026-06-17T20:38:09.186Z","repository":{"id":201801962,"uuid":"132772075","full_name":"laqul/laqul","owner":"laqul","description":" A complete starter kit that allows you create amazing apps that look native thanks to the Quasar Framework. Powered by an API developed in Laravel Framework using the easy GraphQL queries language. And ready to use the Google Firebase features.","archived":false,"fork":false,"pushed_at":"2020-08-16T21:05:41.000Z","size":1382,"stargazers_count":133,"open_issues_count":8,"forks_count":34,"subscribers_count":11,"default_branch":"develop","last_synced_at":"2025-10-22T03:01:58.812Z","etag":null,"topics":["api","api-client","dashboard","firebase","firebase-auth","firebase-cloud-messaging","graphql","javascript","laravel","login-system","mobile-app","oauth2","php","pwa","quasar-framework","registration-system","social-login","spa","token-authetication","user-roles"],"latest_commit_sha":null,"homepage":"https://laqul.github.io/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/laqul.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-05-09T14:51:23.000Z","updated_at":"2025-10-02T10:42:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"d6ad7996-5924-4ede-8e27-c351b5665d27","html_url":"https://github.com/laqul/laqul","commit_stats":null,"previous_names":["laqul/laqul"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/laqul/laqul","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laqul%2Flaqul","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laqul%2Flaqul/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laqul%2Flaqul/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laqul%2Flaqul/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/laqul","download_url":"https://codeload.github.com/laqul/laqul/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laqul%2Flaqul/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34465322,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["api","api-client","dashboard","firebase","firebase-auth","firebase-cloud-messaging","graphql","javascript","laravel","login-system","mobile-app","oauth2","php","pwa","quasar-framework","registration-system","social-login","spa","token-authetication","user-roles"],"created_at":"2024-08-01T00:00:49.600Z","updated_at":"2026-06-17T20:38:09.149Z","avatar_url":"https://github.com/laqul.png","language":"PHP","funding_links":[],"categories":["Awesome Quasar [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)","awesome-vue [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)","PHP","Projects Using Vue.js","Awesome Vue.js [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg) ★101652](https://github.com/sindresorhus/awesome)","Awesome Vue.js [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)","Open Source [🔝](#readme)"],"sub_categories":["Tutorials","开源","Open Source"],"readme":"![Laqu-l logo](https://laqul.github.io/assets/img/logo.png)\n\n# Laqu-l\n\n\u003ca href=\"https://github.com/quasarframework/quasar\"\u003e\n    \u003cimg alt=\"Made with Quasar\" src=\"https://img.shields.io/badge/made with-Quasar-2fa4cf.svg\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/graphql\"\u003e\n    \u003cimg alt=\"Powered by GraphQL\" src=\"https://img.shields.io/badge/powered by-GraphQL-e572d9.svg\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/laravel/laravel\"\u003e\n    \u003cimg alt=\"uses Laravel\" src=\"https://img.shields.io/badge/uses-Laravel-ff5d0e.svg\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/firebase\"\u003e\n    \u003cimg alt=\"Ready for Firebase\" src=\"https://img.shields.io/badge/ready for-Firebase-f6bc00.svg\"\u003e\n\u003c/a\u003e\n\n\u003e A complete starter kit that allows you create amazing apps that look native thanks to the Quasar Framework. Powered by an API developed in Laravel Framework using the easy GraphQL query language. And ready to use the Google Firebase features.\n\n### Login Screen\n[![Laqu-l Login Screen](https://laqul.github.io/assets/img/login.jpg)](https://laqul.github.io)\n### Admin Screen\n[![Laqu-l Admin Screen](https://laqul.github.io/assets/img/account.jpg)](https://laqul.github.io)\n\n\n# Features\n* Multilanguage capability\n* XSRF protection in client and client-backend comunication.\n* Use as SPA, PWA, DESKTOP APP, MOBILE APP, thanks to Quasar Framework\n* Area for Terms and Conditions and Privacy Policy\n* Social login (Google and Facebook by default)\n* OAUTH 2 Authentication\n* Password login\n* User registration with password and email verification\n* Reset password with email verification\n* User avatar\n* Update password\n* Update user name\n* Logout\n* Firebase Authentication with custom generated token that allows using all Firebase features\n* Firebase Cloud Messaging for app notifications\n* User timezone detection for process related to user's time\n* User roles\n\n# Components\n\n### API\nOAUTH 2 Laravel API Powered with GraphQl\n\n### Client\nDashboard with a basic features developed with Quasar Framework\n\n### Client-Backend\nPHP script that allows securely storing the API client-id and client-secret and managing the OAUTH2 authentication and refresh tokens process\n\n## Requirements\n\n* LAMP Server\n* Terminal\n* node\n* npm\n* quasar-cli\n* [composer](https://github.com/composer/composer)\n* git\n\n## Installation\n\n### Video Tutorial\n[![Video Tutorial Instalation And Setup](https://img.youtube.com/vi/x5yF3bAbPzY/0.jpg)](https://youtu.be/x5yF3bAbPzY)\n\n### API Setup\n\nPrepare the Laravel API for the initial setup\n\n* In your terminal type:\n```\ngit clone https://github.com/laqul/laqul.git\ncd laqul/api\ncomposer install\ncp .env.example .env\nphp artisan key:generate\nphp artisan passport:keys\n```\n* Create a database using [phpmyadmin](https://www.phpmyadmin.net/) or terminal:\n```\nmysql -u root -e \"create database testdb\"; \n```\nIf you have an existing mysql password, add -p above. You will be prompted for your password.\n\n* Put your data connection in laqul/api/.env file:\n```\nDB_DATABASE=YOUR_DATABASE\nDB_USERNAME=YOUR_DATABASE_USER\nDB_PASSWORD=YOUR_DATABASE_PASSWORD\n```\n* Migrate data base\n```\nphp artisan migrate --seed\n```\n* Configure the SMTP server for emails in laqul/api/.env file:\n```\nMAIL_FROM_ADDRESS=laqul@example.com\nMAIL_FROM_NAME='Laqul'\nMAIL_DRIVER=smtp\nMAIL_HOST=SMTP_HOST\nMAIL_PORT=SMTP_PORT\nMAIL_USERNAME=SMTP_USERNAME\nMAIL_PASSWORD=SMTP_PASSWORD\nMAIL_ENCRYPTION=tls\n```\n* Create a [Firebase project](https://firebase.google.com)\n* Go to project settings and get a service account then paste it in laqul/api/.env file\n```\nFIREBASE_SERVICE_ACCOUNT=YOUR_FIREBASE_SERVICE_ACCOUNT\n```\n* Into the Firebase project settings in service account option generate a private key, one file was downloaded, rename the key file to firebase-private.key and move it to laqul/api/storage folder\n\n* Get the Firebase AUD and paste it in laqul/api/.env file [More Info](https://firebase.google.com/docs/auth/admin/create-custom-tokens)\n```\nFIREBASE_AUD=YOUR_FIREBASE_TOKEN_AUD\n```\n* Into the Firebase project settings in Cloud Messaging option get the server key and the sender id and paste it in laqul/api/.env file\n```\nFCM_SERVER_KEY=YOUR_FCM_SERVER_KEY\nFCM_SENDER_ID=YOUR_FCM_SENDER_ID\n```\n* Get your Google Oauth 2.0 Client ID and Client Secret from [Developers Console](https://console.developers.google.com) and paste it in laqul/api/.env file\n```\nSOCIAL_GOOGLE_CLIENTID=YOUR_GOOGLE_CLIENT_ID\nSOCIAL_GOOGLE_CLIENTSECRET=YOUR_GOOGLE_CLIENT_SECRET\n```\n* Get your Facebook Oauth 2.0 Client ID and Client Secret from [Facebook Developers](https://developers.facebook.com) and paste it in laqul/api/.env file\n```\nSOCIAL_FACEBOOK_CLIENTID=YOUR_FACEBOOK_CLIENT_ID\nSOCIAL_FACEBOOK_CLIENTSECRET=YOUR_FACEBOOK_CLIENT_SECRET\n```\n* Back in your terminal make a sym-link to storage folder in your API folder\n```\nphp artisan storage:link\n```\n* Run the API\n```\nphp artisan serve\n```\n\n### Run The Client Backend\n* Open a new terminal in laqul/client-backend folder and run:\n```\nphp -S localhost:8001\n```\nThis creates a server listening in port 8001, this is the intermediary between client and api for the Oauth 2.0 authentication\n\n### Setup Client\n* Open a new terminal in laqul/client folder and run:\n```\nnpm install\n```\n* Go to laqul/client/src/config/index.js file and setup your firebase project data:\n```\napiKey: 'YOUR_FIREBASE_API_KEY',\nauthDomain: 'YOUR_FIREBASE_AUTH_DOMAIN',\ndatabaseURL: 'YOUR_FIREBASE_DATABASE_URL',\nprojectId: 'YOUR_FIREBASE_PROJECT_ID',\nstorageBucket: 'YOUR_FIREBASE_STORAGE_BUCKET',\nmessagingSenderId: 'YOUR_FIREBASE_SENDER_ID'\n```\n* Back to your terminal and run:\n```\nquasar dev\n```\n\nYou are done! make something awesome! \n\n\u003e Spelling and grammar correction are welcome :+1:\n\n## Frameworks Used\n* Quasar 0.16: [Official Documentation](http://quasar-framework.org)\n* Laravel 5.6: [Official Documentation](https://laravel.com/docs/5.6)\n\n## GraphQL\n* Official Site: [GraphQL Info](http://graphql.org)\n* Laravel GraphQL implementation: [Folkloreatelier/laravel-graphql](https://github.com/Folkloreatelier/laravel-graphql)\n\n## Contributing\nIt would be great if you could contribute by adding new features, fixing bugs or showing us the steps to reproduce bugs.\n\n## License\n\nCopyright (c) 2018-present Fabian VR\n\n[MIT License](http://en.wikipedia.org/wiki/MIT_License)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaqul%2Flaqul","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaqul%2Flaqul","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaqul%2Flaqul/lists"}