{"id":21638840,"url":"https://github.com/vuefront/opencart","last_synced_at":"2025-04-11T16:52:10.167Z","repository":{"id":37885491,"uuid":"177760347","full_name":"vuefront/opencart","owner":"vuefront","description":"Free PWA \u0026 SPA for OpenCart","archived":false,"fork":false,"pushed_at":"2023-03-04T05:23:56.000Z","size":20294,"stargazers_count":75,"open_issues_count":51,"forks_count":26,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-25T12:53:37.314Z","etag":null,"topics":["extension","nuxt","oc","opencart","opencart-extension","opencart-module","pwa","single-page-app","spa","v","vue","vueapp","vuefront","vuefront-web","vuejs"],"latest_commit_sha":null,"homepage":"https://opencart.vuefront.com/","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/vuefront.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":"2019-03-26T09:55:08.000Z","updated_at":"2024-11-28T13:44:52.000Z","dependencies_parsed_at":"2024-11-25T04:22:20.815Z","dependency_job_id":null,"html_url":"https://github.com/vuefront/opencart","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuefront%2Fopencart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuefront%2Fopencart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuefront%2Fopencart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuefront%2Fopencart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vuefront","download_url":"https://codeload.github.com/vuefront/opencart/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248443198,"owners_count":21104358,"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":["extension","nuxt","oc","opencart","opencart-extension","opencart-module","pwa","single-page-app","spa","v","vue","vueapp","vuefront","vuefront-web","vuejs"],"created_at":"2024-11-25T04:12:06.615Z","updated_at":"2025-04-11T16:52:10.145Z","avatar_url":"https://github.com/vuefront.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://vuefront.com\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/vuefront/vuefront-docs/master/.vuepress/public/img/github/vuefront-opencart.jpg\" width=\"400\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003eVueFront\u003c/h1\u003e\n\u003ch3 align=\"center\"\u003eCMS Connect App for OpenCart 2.x-3.x\n\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/vuefront/vuefront\"\u003e\u003cimg src=\"https://img.shields.io/badge/price-FREE-0098f7.svg\" alt=\"Version\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://discord.gg/C9vcTCQ\"\u003e\u003cimg src=\"https://img.shields.io/badge/chat-on%20discord-7289da.svg\" alt=\"Chat\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\nShow your :heart: - give us a :star: \u003cbr/\u003e \nHelp us grow this project to be the best it can be!\n  \u003c/p\u003e\n\n\n__VueFront__ is a \u003ca href=\"//vuejs.org\"\u003eVueJS powered\u003c/a\u003e CMS agnostic SPA \u0026 PWA frontend for your old-fashioned Blog and E-commerce site. \n\n__OpenCart__ - Open-source eCommerce platform built with MVC pattern.\n\n__CMS Connect App__ - adds the connection between the OpenCart CMS and VueFront Web App via a GraphQL API.\n\n## DEMO\n\n[VueFront on OpenCart](https://opencart.vuefront.com/)\n\n![VueFront CMS Connect App](http://joxi.net/krDlvPdfKO5P9r.jpg)\n\n## OpenCart Versions\nThis repo stores the codebase for the CMS Connect App for OpenCart. Because of OpenCart's versioning, the branches are structured as follows \n\n| Repo Branch | OpenCart Versions  |\n|--------|-------------|\n| [master](https://github.com/vuefront/opencart) | 2.x-3.x     |\n| [1.5x](https://github.com/vuefront/opencart/tree/1.5x)   | 1.5.x       |\n\n### OpenCart Blog \nSince OpenCart does not have a built-in Blog, we use the [Free Blog Module](https://github.com/Dreamvention/2_d_blog_module) by Dreamvention for version 2.x-3.x\n\n# Installation\n\n## Install VueFront CMS Connect App\nPhp version required \u003e= 5.5, \u003c= 7.2 (this limitation will be removed in the future)\n\n### Quick Install (recommended)\n1. [Download](https://github.com/vuefront/opencart/releases) the **compiled** Extensions from the latest releases. \n2. Upload via OpenCart Admin -\u003e Extension Installer\n3. Go to Extensions -\u003e Modules -\u003e VueFront and click install\n4. Click edit to view copy the CMS Connect URL\n\nYou will need the CMS Connect URL to complete the [VueFront Web App installation](https://vuefront.com/guide/setup.html)\n\n### Advanced Install\nThe official compiled version of the CMS Connect APP includes other supporting extensions such as d_opencart_patch and d_twig_manager. \n\nYou can download the source code from the master branch directly and upload via ftp to your root folder. When activating the module, you should have the following extensions preinstalled: d_opencart_patch, d_twig_manager, d_twig (only for 2.x)\n\nYou can also install the d_blog_module to add blog features to VueFront. \n\n### Install via Shopunity\nIf you have shopunity module installed, you can use that for a super quick installation:\n1. go to OpenCart admin -\u003e shopunity -\u003e marketplace tab\n2. search for VueFront\n3. Click install.\n\nYou can also install the d_blog_module via Shopunity as well. \n\n## Deploy VueFront Web App to hosting (static website)\n### via VueFront Deploy service (recommended)\n1. Install the VueFront CMS Connect App from this repo.\n2. Log in or register an account with VueFront.com\n3. Build your first Web App\n4. Activate the new Frontend Web App (only avalible for Apache servers)\n \u003e For Nginx you need to add this code to your `nginx.config` file right after the `index` directive\n ```\nlocation ~ ^((?!image|.php|admin|catalog|\\/img\\/.*\\/|wp-json|wp-admin|wp-content|checkout|rest|static|order|themes\\/|modules\\/|js\\/|\\/vuefront\\/).)*$ {\n    try_files /vuefront/$uri /vuefront/$uri \"/vuefront${uri}index.html\" /vuefront$uri.html /vuefront/200.html;\n}\n ```\n \n\n### via ftp manually\n1. Install the VueFront CMS Connect App from this repo.\n2. Log in or register an account with VueFront.com\n3. Copy the CMS Connect URL \n4. Via Ftp create a new folder `vuefront` in the root of your OpenCart site on your hosting. \n5. Via command line build your VueFront Web App ([read more](https://vuefront.com/guide/setup.html)) \n```\nyarn create vuefront-app\n# When promote, provide the CMS Connect URL, which you coppied at step 3.\nyarn generate\n```\n6. Copy all files from folder `dist` to the newly created `vuefront` folder\n7. modify you `.htaccess` file by adding after `RewriteBase` rule the following rules:\n```htaccess\n# VueFront scripts, styles and images\nRewriteCond %{REQUEST_URI} .*(_nuxt)\nRewriteCond %{REQUEST_URI} !.*/vuefront/_nuxt\nRewriteRule ^([^?]*) vuefront/$1\n# VueFront sw.js\nRewriteCond %{REQUEST_URI} .*(sw.js)\nRewriteCond %{REQUEST_URI} !.*/vuefront/sw.js\nRewriteRule ^([^?]*) vuefront/$1\n# VueFront favicon.ico\nRewriteCond %{REQUEST_URI} .*(favicon.ico)\nRewriteCond %{REQUEST_URI} !.*/vuefront/favicon.ico\nRewriteRule ^([^?]*) vuefront/$1\n# VueFront pages\n# VueFront home page\nRewriteCond %{REQUEST_URI} !.*(image|.php|admin|catalog|\\/img\\/.*\\/|wp-json|wp-admin|wp-content|checkout|rest|static|order|themes\\/|modules\\/|js\\/|\\/vuefront\\/)\nRewriteCond %{QUERY_STRING} !.*(rest_route)\nRewriteCond %{DOCUMENT_ROOT}\".$document_path.\"vuefront/index.html -f\nRewriteRule ^$ vuefront/index.html [L]\nRewriteCond %{REQUEST_URI} !.*(image|.php|admin|catalog|\\/img\\/.*\\/|wp-json|wp-admin|wp-content|checkout|rest|static|order|themes\\/|modules\\/|js\\/|\\/vuefront\\/)\nRewriteCond %{QUERY_STRING} !.*(rest_route)\nRewriteCond %{DOCUMENT_ROOT}\".$document_path.\"vuefront/index.html !-f\nRewriteRule ^$ vuefront/200.html [L]\n# VueFront page if exists html file\nRewriteCond %{REQUEST_FILENAME} !-f\nRewriteCond %{REQUEST_FILENAME} !-d\nRewriteCond %{REQUEST_URI} !.*(image|.php|admin|catalog|\\/img\\/.*\\/|wp-json|wp-admin|wp-content|checkout|rest|static|order|themes\\/|modules\\/|js\\/|\\/vuefront\\/)\nRewriteCond %{QUERY_STRING} !.*(rest_route)\nRewriteCond %{DOCUMENT_ROOT}\".$document_path.\"vuefront/$1.html -f\nRewriteRule ^([^?]*) vuefront/$1.html [L,QSA]\n# VueFront page if not exists html file\nRewriteCond %{REQUEST_FILENAME} !-f\nRewriteCond %{REQUEST_FILENAME} !-d\nRewriteCond %{REQUEST_URI} !.*(image|.php|admin|catalog|\\/img\\/.*\\/|wp-json|wp-admin|wp-content|checkout|rest|static|order|themes\\/|modules\\/|js\\/|\\/vuefront\\/)\nRewriteCond %{QUERY_STRING} !.*(rest_route)\nRewriteCond %{DOCUMENT_ROOT}\".$document_path.\"vuefront/$1.html !-f\nRewriteRule ^([^?]*) vuefront/200.html [L,QSA]\n```\n\n \u003e For Nginx you need to add this code to your nginx.config file right after the index rule\n ```\nlocation ~ ^((?!image|.php|admin|catalog|\\/img\\/.*\\/|wp-json|wp-admin|wp-content|checkout|rest|static|order|themes\\/|modules\\/|js\\/|\\/vuefront\\/).)*$ {\n    try_files /vuefront/$uri /vuefront/$uri \"/vuefront${uri}index.html\" /vuefront$uri.html /vuefront/200.html;\n}\n ```\n \n## Support\nFor support please contact us at [Discord](https://discord.gg/C9vcTCQ)\n\n## Submit an issue\nFor submitting an issue, please create one in the [issues tab](https://github.com/vuefront/vuefront/issues). Remember to provide a detailed explanation of your case and a way to reproduce it. \n\nEnjoy!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvuefront%2Fopencart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvuefront%2Fopencart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvuefront%2Fopencart/lists"}