{"id":21753633,"url":"https://github.com/melardev/vuevuexecommercerestapi","last_synced_at":"2025-04-13T08:52:09.896Z","repository":{"id":39557220,"uuid":"174205339","full_name":"melardev/VueVuexEcommerceRestApi","owner":"melardev","description":"Full stack Vue + Vuex Ecommerce application","archived":false,"fork":false,"pushed_at":"2022-12-09T14:54:35.000Z","size":1261,"stargazers_count":13,"open_issues_count":18,"forks_count":11,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-27T00:23:15.233Z","etag":null,"topics":["api","e-commerce","ecommerce","full-stack","fullstack","node","node-js","nodejs","rest","shopping-cart","state","vue","vue-js","vuejs","vuex"],"latest_commit_sha":null,"homepage":"http://melardev.com","language":"Vue","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/melardev.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}},"created_at":"2019-03-06T19:14:49.000Z","updated_at":"2024-06-07T00:29:35.000Z","dependencies_parsed_at":"2023-01-26T00:46:34.399Z","dependency_job_id":null,"html_url":"https://github.com/melardev/VueVuexEcommerceRestApi","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/melardev%2FVueVuexEcommerceRestApi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/melardev%2FVueVuexEcommerceRestApi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/melardev%2FVueVuexEcommerceRestApi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/melardev%2FVueVuexEcommerceRestApi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/melardev","download_url":"https://codeload.github.com/melardev/VueVuexEcommerceRestApi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248688542,"owners_count":21145763,"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":["api","e-commerce","ecommerce","full-stack","fullstack","node","node-js","nodejs","rest","shopping-cart","state","vue","vue-js","vuejs","vuex"],"created_at":"2024-11-26T09:10:29.400Z","updated_at":"2025-04-13T08:52:09.875Z","avatar_url":"https://github.com/melardev.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"- [Introduction](#introduction)\n- [Full-stack Applications](#full-stack-applications)\n  * [E-commerce (shopping cart)](#e-commerce--shopping-cart-)\n    + [Server side implementations](#server-side-implementations)\n    + [Client side implementations](#client-side-implementations)\n  * [Blog/CMS](#blog-cms)\n    + [Server side implementations](#server-side-implementations-1)\n    + [Client side](#client-side)\n      - [The next come are](#the-next-come-are)\n  * [Simple CRUD(Create, Read, Update, Delete)](#simple-crud-create--read--update--delete-)\n    + [Server side implementations](#server-side-implementations-2)\n    + [Client side implementations](#client-side-implementations-1)\n      - [The next come are](#the-next-come-are-1)\n  * [CRUD + Pagination](#crud---pagination)\n    + [Server side implementations](#server-side-implementations-3)\n      - [The next come are](#the-next-come-are-2)\n    + [Client side implementations](#client-side-implementations-2)\n      - [The next come are](#the-next-come-are-3)\n- [TODO](#todo)\n- [Resources](#resources)\n  * [Project setup](#project-setup)\n    + [Compiles and hot-reloads for development](#compiles-and-hot-reloads-for-development)\n    + [Compiles and minifies for production](#compiles-and-minifies-for-production)\n    + [Run your tests](#run-your-tests)\n    + [Lints and fixes files](#lints-and-fixes-files)\n    \n# Introduction\nThis shopping cart application is built using Vue + Vuex, it is supposed to work with any of these servers listed below. **Be warned** that\nwhile making this app I am using this [Spring Boot Server](https://github.com/melardev/SBootApiEcomMVCHibernate) so I strongly encourage you\nto use that as well, all the other servers worked from postman, but I don't know If they return in the response something called differently that\nthis app can not read, so if this redux app does not work, that is the reason, just a typo in a response variable, let me know about any typos\nin any of the server apps and I will try to fix it.\n\n# Full-stack Applications\n## E-commerce (shopping cart)\n### Server side implementations\n- [Spring Boot + Spring Data Hibernate](https://github.com/melardev/SBootApiEcomMVCHibernate)\n- [Spring Boot + JAX-RS Jersey + Spring Data Hibernate](https://github.com/melardev/SpringBootEcommerceApiJersey)\n- [Node Js + Sequelize](https://github.com/melardev/ApiEcomSequelizeExpress)\n- [Node Js + Bookshelf](https://github.com/melardev/ApiEcomBookshelfExpress)\n- [Node Js + Mongoose](https://github.com/melardev/ApiEcomMongooseExpress)\n- [Python Django](https://github.com/melardev/DjangoRestShopApy)\n- [Flask](https://github.com/melardev/FlaskApiEcommerce)\n- [Golang go gonic](https://github.com/melardev/api_shop_gonic)\n- [Ruby on Rails](https://github.com/melardev/RailsApiEcommerce)\n- [AspNet Core](https://github.com/melardev/ApiAspCoreEcommerce)\n- [Laravel](https://github.com/melardev/ApiEcommerceLaravel)\n\nThe next to come are:\n- Spring Boot + Spring Data Hibernate + Kotlin\n- Spring Boot + Jax-RS Jersey + Hibernate + Kotlin\n- Spring Boot + mybatis\n- Spring Boot + mybatis + Kotlin\n- Asp.Net Web Api v2\n- Elixir\n- Golang + Beego\n- Golang + Iris\n- Golang + Echo\n- Golang + Mux\n- Golang + Revel\n- Golang + Kit\n- Flask + Flask-Restful\n- AspNetCore + NHibernate\n- AspNetCore + Dapper\n\n### Client side implementations\nThis client side E-commerce application is also implemented using other client side technologies:\n- [React Redux](https://github.com/melardev/ReactReduxEcommerceRestApi)\n- [React](https://github.com/melardev/ReactEcommerceRestApi)\n- [Vue](https://github.com/melardev/VueEcommerceRestApi)\n- [Vue + Vuex](https://github.com/melardev/VueVuexEcommerceRestApi)\n- [Angular](https://github.com/melardev/AngularEcommerceRestApi)\n\n## Blog/CMS\n### Server side implementations\n### Client side\n#### The next come are\n- Angular NgRx-Store\n- Angular + Material\n- React + Material\n- React + Redux + Material\n- Vue + Material\n- Vue + Vuex + Material\n- Ember\n\n## Simple CRUD(Create, Read, Update, Delete)\n### Server side implementations\n### Client side implementations\n#### The next come are\n- Angular NgRx-Store\n- Angular + Material\n- React + Material\n- React + Redux + Material\n- Vue + Material\n- Vue + Vuex + Material\n- Ember\n- Vanilla javascript\n\n## CRUD + Pagination\n### Server side implementations\n- [Spring Boot + Spring Data + Jersey](https://github.com/melardev/SpringBootJerseyApiPaginatedCrud)\n- [Spring Boot + Spring Data](https://github.com/melardev/SpringBootApiJpaPaginatedCrud)\n- [Spring Boot Reactive + Spring Data Reactive](https://github.com/melardev/ApiCrudReactiveMongo)\n- [Go with Gin Gonic](https://github.com/melardev/GoGinGonicApiPaginatedCrud)\n- [Laravel](https://github.com/melardev/LaravelApiPaginatedCrud)\n- [Rails + JBuilder](https://github.com/melardev/RailsJBuilderApiPaginatedCrud)\n- [Rails](https://github.com/melardev/RailsApiPaginatedCrud)\n- [NodeJs Express + Sequelize](https://github.com/melardev/ExpressSequelizeApiPaginatedCrud)\n- [NodeJs Express + Bookshelf](https://github.com/melardev/ExpressBookshelfApiPaginatedCrud)\n- [NodeJs Express + Mongoose](https://github.com/melardev/ExpressApiMongoosePaginatedCrud)\n- [Python Django](https://github.com/melardev/DjangoApiCrudPaginated)\n- [Python Django + Rest Framework](https://github.com/melardev/DjangoRestFrameworkPaginatedCrud)\n- [Python Flask](https://github.com/melardev/FlaskApiPaginatedCrud)\n- [AspNet Core](https://github.com/melardev/AspNetCoreApiPaginatedCrud)\n- [AspNet Web Api 2](https://github.com/melardev/WebApiPaginatedAsyncCrud)\n\n#### The next come are\n- NodeJs Express + Knex\n- Flask + Flask-Restful\n- Laravel + Fractal\n- Laravel + ApiResources\n- Go with Mux\n- AspNet Web Api 2\n- Jersey\n- Elixir\n\n### Client side implementations\n- [Angular](https://github.com/melardev/AngularPaginatedAsyncCrud)\n- [React-Redux](https://github.com/melardev/ReactReduxPaginatedAsyncCrud)\n- [React](https://github.com/melardev/ReactAsyncPaginatedCrud)\n- [Vue + Vuex](https://github.com/melardev/VueVuexPaginatedAsyncCrud)\n- [Vue](https://github.com/melardev/VuePaginatedAsyncCrud)\n\n\n#### The next come are\n- Angular NgRx-Store\n- Angular + Material\n- React + Material\n- React + Redux + Material\n- Vue + Material\n- Vue + Vuex + Material\n- Ember\n- Vanilla javascript\n\n# TODO\n- After login or register redirect where the user was\n- Guards\n- It may be a good idea to separate the UsersService from a secrets service, to store the user and the tokens\ndifferently, this is how I did it at the beginning: UsersService manages user storage, JwtService manages token storage,\nthen I removed this difference to keep it simple.\n- [] ProductDetails retrieves the current product, change by async load instead.\n- Fix the carousel behaviour\n- Implement the fetch products by tag and by category name, if I try to reuse the ProductList.vue then it is a little tricky\nbecause the UI may not update, I have to write good code to handle that situation. The server side apps are implemented to\nreturn products by tag and by category.\n- Restrict creation of products to admin\n- Better Exception Handling\n\n# Follow me\n- [Youtube Channel](https://youtube.com/melardev) I publish videos mainly on programming\n- [Blog](http://melardev.com) Sometimes I publish the source code there before Github\n- [Twitter](https://twitter.com/@melardev) I share tips on programming\n\n# Resources\n- [Vuex modules](https://vuex.vuejs.org/guide/modules.html)\n\n## Project setup\n```\nnpm install\n```\n\n### Compiles and hot-reloads for development\n```\nnpm run serve\n```\n\n### Compiles and minifies for production\n```\nnpm run build\n```\n\n### Run your tests\n```\nnpm run test\n```\n\n### Lints and fixes files\n```\nnpm run lint\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmelardev%2Fvuevuexecommercerestapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmelardev%2Fvuevuexecommercerestapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmelardev%2Fvuevuexecommercerestapi/lists"}