{"id":13433738,"url":"https://github.com/kefranabg/bento-starter","last_synced_at":"2025-05-16T03:05:02.615Z","repository":{"id":34443255,"uuid":"168835006","full_name":"kefranabg/bento-starter","owner":"kefranabg","description":":bento: Full-Stack solution to quickly build PWA applications with Vue.js and Firebase","archived":false,"fork":false,"pushed_at":"2021-02-12T03:50:15.000Z","size":971,"stargazers_count":1530,"open_issues_count":23,"forks_count":131,"subscribers_count":45,"default_branch":"master","last_synced_at":"2025-04-08T13:11:37.342Z","etag":null,"topics":["circleci","firebase","firebase-auth","firebase-firestore","firebase-hosting","offline","prerendering","pwa","service-worker","starter","template","vuejs","vuex"],"latest_commit_sha":null,"homepage":"https://bento-starter.firebaseapp.com","language":"JavaScript","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/kefranabg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"docs/CODEOWNERS.md","security":null,"support":null},"funding":{"github":["kefranabg"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2019-02-02T13:33:37.000Z","updated_at":"2025-03-24T15:16:17.000Z","dependencies_parsed_at":"2022-08-08T01:00:48.332Z","dependency_job_id":null,"html_url":"https://github.com/kefranabg/bento-starter","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kefranabg%2Fbento-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kefranabg%2Fbento-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kefranabg%2Fbento-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kefranabg%2Fbento-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kefranabg","download_url":"https://codeload.github.com/kefranabg/bento-starter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254459087,"owners_count":22074605,"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":["circleci","firebase","firebase-auth","firebase-firestore","firebase-hosting","offline","prerendering","pwa","service-worker","starter","template","vuejs","vuex"],"created_at":"2024-07-31T02:01:34.837Z","updated_at":"2025-05-16T03:04:57.605Z","avatar_url":"https://github.com/kefranabg.png","language":"JavaScript","funding_links":["https://github.com/sponsors/kefranabg"],"categories":["JavaScript","Kits"],"sub_categories":["Miscellaneous Utilities"],"readme":"\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/version-1.0.0-blue.svg?cacheSeconds=2592000\" alt=\"Npm version\" target=\"_blank\" /\u003e\n\u003ca href=\"https://circleci.com/gh/kefranabg/bento-starter/tree/master\"\u003e\u003cimg alt=\"CircleCI\" src=\"https://circleci.com/gh/kefranabg/bento-starter/tree/master.svg?style=svg\u0026circle-token=f311e2320782a12321a769faa2ef1d3cdf5e1a10\" target=\"_blank\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://bento-starter.netlify.com/\"\u003e\u003cimg alt=\"Documentation\" src=\"https://img.shields.io/badge/documentation-yes-brightgreen.svg\" target=\"_blank\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://gitHub.com/kefranabg/bento-starter/graphs/commit-activity\"\u003e\u003cimg alt=\"Maintenance\" src=\"https://img.shields.io/badge/Maintained%3F-yes-green.svg\" target=\"_blank\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://david-dm.org/kefranabg/bento-starter\"\u003e\u003cimg alt=\"Dependencies\" src=\"https://img.shields.io/david/kefranabg/bento-starter.svg\" target=\"_blank\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://david-dm.org/kefranabg/bento-starter?type=dev\"\u003e\u003cimg alt=\"DevDependencies\" src=\"https://img.shields.io/david/dev/kefranabg/bento-starter.svg\" target=\"_blank\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/kefranabg/bento-starter/blob/master/LICENSE\"\u003e\u003cimg alt=\"License: MIT\" src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" target=\"_blank\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://join.slack.com/t/bento-starter/shared_invite/enQtNjE5OTI5MzQyMTE3LTQ1N2M0NzAxYWM1OTJmYTA4YTIxMmM4MDhiNTI0MGNjZGIyNDFjY2UwNjE2Nzc3NzMzMzViOTYyOGViYjkxYzY\" target=\"_blank\"\u003e\u003cimg src=\"https://home-assistant.io/images/supported_brands/slack.png\" height=\"20px\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eWelcome to bento-starter :wave:\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/kefranabg/bento-starter/master/src/assets/img/bento-starter.svg?sanitize=true\" alt=\"Bento-starter\"/\u003e\n\u003c/p\u003e\n\n\u003cbr /\u003e\n\n\u003e :bento: **bento-starter** is an Open-Source Full-Stack solution that helps you to build fast and maintainable web applications using tools like Vue.js, Firebase, Progressive Web Apps support, dynamic offline support... The goal of this project is to provide a powerful and well configured stack (with CI/CD, hosting...) so you can focus on writing your web application very quickly.\n\n\u003e As this project is a template project and not a CLI, you have access to the entire app configuration so you can change it according to your needs.\n\n## :book: Documentation\n\nWant to setup this stack ?\n\n:point_right: The full documentation is available [here](https://bento-starter.netlify.com/)\n\n## Demo\n\n:point_right: [https://bento-starter.firebaseapp.com](https://bento-starter.firebaseapp.com)\n\nInstall the PWA demo from Google Play Store :point_right: [bento-starter Google Play Store](https://play.google.com/store/apps/details?id=com.bentostarter.bentostarterdemo)\n\n\u003cbr /\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/9840435/56022522-30ba0980-5d0c-11e9-8c61-23a9f91a926f.gif\" alt=\"demo\"/\u003e\n\u003c/p\u003e\n\n\u003cbr /\u003e\n\n**Lighthouse score :**\n\n![Lighthouse score](https://raw.githubusercontent.com/kefranabg/bento-starter/master/resources/lighthouse-score-report.jpg)\n\n**Optional preconfigured Github Actions workflow :**\n\n- :heavy_check_mark: Check tests and quality\n- :gear: Build the project\n- :rocket: Deploy to firebase hosting\n\n\n**The stack is made up of :**\n\n- :metal: [Vue.js](https://vuejs.org/) : front-end framework\n- :wrench: [Vue-cli](https://cli.vuejs.org/) : standard tooling for vue.js development\n- :repeat: [Vuex](https://vuex.vuejs.org/) : state management\n- :floppy_disk: [Firestore](https://firebase.google.com/products/firestore/) : cloud NoSQL Database\n- :house: [Firebase hosting](https://firebase.google.com/products/hosting/) : fast and secure web hosting\n- :bust_in_silhouette: [Firebase authentication](https://firebase.google.com/products/firestore/) : for easy authentication\n- :iphone: [PWA](https://www.npmjs.com/package/@vue/cli-plugin-pwa) : progressive web app support\n- :lipstick: [Prettier](https://prettier.io/) : code formatting rules\n- :rotating_light: [Eslint](https://eslint.org/) : control code quality\n- :white_check_mark: [Jest](https://jestjs.io/) : unit testing\n- :white_check_mark: [Cypress](https://www.cypress.io/) : e2e testing\n- :mag: [Vue head](https://github.com/ktquez/vue-head) : meta description per page\n- :page_facing_up: [Optional][prerender spa plugin](https://github.com/chrisvfritz/prerender-spa-plugin) : pages prerendering\n- :green_heart: [Optional][circleci](https://circleci.com/) : continuous integration/deployment\n- :package: [Optional][bundlesize](https://github.com/siddharthkp/bundlesize) : control your js bundles sizes\n\n**App embedded features :**\n\n- :bust_in_silhouette: Google authentication\n- :mobile_phone_off: Offline support (dynamic \u0026 static caching)\n- :new: `New version available` prompt on new app deployments\n- :heavy_plus_sign: `Add to home screen` prompt for ios \u0026 android\n- :leftwards_arrow_with_hook: Smart redirection for auth protected routes\n- :sparkles: Products page example to demonstrate app data management with firestore and vuex\n- :muscle: Better PWA support for all browsers with [PWACompat](https://github.com/GoogleChromeLabs/pwacompat)\n\n## ✨ Contributors\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/tbetous\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/4435536?v=4\" width=\"75px;\" alt=\"Thomas Betous\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eThomas Betous\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kefranabg/bento-starter/commits?author=tbetous\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kefranabg/bento-starter/commits?author=tbetous\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#question-tbetous\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e \u003ca href=\"#ideas-tbetous\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#review-tbetous\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e \u003ca href=\"#maintenance-tbetous\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://www.franck-abgrall.me/\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/9840435?v=4\" width=\"75px;\" alt=\"Franck Abgrall\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFranck Abgrall\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kefranabg/bento-starter/commits?author=kefranabg\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kefranabg/bento-starter/commits?author=kefranabg\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#question-kefranabg\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e \u003ca href=\"#ideas-kefranabg\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#review-kefranabg\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e \u003ca href=\"#maintenance-kefranabg\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://errorna.me\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/6669733?v=4\" width=\"75px;\" alt=\"Thibaud Courtoison\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eThibaud Courtoison\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kefranabg/bento-starter/commits?author=Errorname\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/mbernardeau\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/7049049?v=4\" width=\"75px;\" alt=\"Mathias Bernardeau\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMathias Bernardeau\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kefranabg/bento-starter/commits?author=mbernardeau\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#ideas-mbernardeau\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://jamesperkins.io/\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/45409975?v=4\" width=\"75px;\" alt=\"James Perkins\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJames Perkins\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kefranabg/bento-starter/commits?author=perkinsjr\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kefranabg/bento-starter/issues?q=author%3Aperkinsjr\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"#question-perkinsjr\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/antoinecellier\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/5922848?v=4\" width=\"75px;\" alt=\"Antoine CELLIER\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAntoine CELLIER\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kefranabg/bento-starter/commits?author=antoinecellier\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/0xflotus\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/26602940?v=4\" width=\"75px;\" alt=\"0xflotus\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003e0xflotus\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kefranabg/bento-starter/commits?author=0xflotus\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/GregoryBevan\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/4266007?v=4\" width=\"75px;\" alt=\"Gr3gory B3van\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eGr3gory B3van\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-GregoryBevan\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://www.linkedin.com/pub/roy-bakker/41/aa7/335\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/10207274?v=4\" width=\"75px;\" alt=\"Roy Bakker\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRoy Bakker\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kefranabg/bento-starter/issues?q=author%3ARoyBkker\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://adambar.pl\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/1309057?v=4\" width=\"75px;\" alt=\"Adam Bar\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAdam Bar\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-NOtherDev\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/6ones\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/25098427?v=4\" width=\"75px;\" alt=\"Chidindu Ogbonna \"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eChidindu Ogbonna \u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kefranabg/bento-starter/commits?author=6ones\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/VincentBourdeau\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/8518122?v=4\" width=\"75px;\" alt=\"Vincent Bourdeau\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eVincent Bourdeau\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kefranabg/bento-starter/commits?author=VincentBourdeau\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\n\n## Show your support\n\n⭐️ this repo\n\n## 💬 Chat\n\nWant to chat with us  ? 👉 [join bento-starter slack](https://join.slack.com/t/bento-starter/shared_invite/enQtNjE5OTI5MzQyMTE3LTQ1N2M0NzAxYWM1OTJmYTA4YTIxMmM4MDhiNTI0MGNjZGIyNDFjY2UwNjE2Nzc3NzMzMzViOTYyOGViYjkxYzY)\n\n## License\n\nThis project is [MIT](https://github.com/kefranabg/bento-starter/blob/master/LICENSE) licensed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkefranabg%2Fbento-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkefranabg%2Fbento-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkefranabg%2Fbento-starter/lists"}