/VueVuexEcommerceRestApi

Full stack Vue + Vuex Ecommerce application

Primary LanguageVueMIT LicenseMIT

Introduction

This shopping cart application is built using Vue + Vuex, it is supposed to work with any of these servers listed below. Be warned that while making this app I am using this Spring Boot Server so I strongly encourage you to 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 this 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 in any of the server apps and I will try to fix it.

Full-stack Applications

E-commerce (shopping cart)

Server side implementations

The next to come are:

  • Spring Boot + Spring Data Hibernate + Kotlin
  • Spring Boot + Jax-RS Jersey + Hibernate + Kotlin
  • Spring Boot + mybatis
  • Spring Boot + mybatis + Kotlin
  • Asp.Net Web Api v2
  • Elixir
  • Golang + Beego
  • Golang + Iris
  • Golang + Echo
  • Golang + Mux
  • Golang + Revel
  • Golang + Kit
  • Flask + Flask-Restful
  • AspNetCore + NHibernate
  • AspNetCore + Dapper

Client side implementations

This client side E-commerce application is also implemented using other client side technologies:

Blog/CMS

Server side implementations

Client side

The next come are

  • Angular NgRx-Store
  • Angular + Material
  • React + Material
  • React + Redux + Material
  • Vue + Material
  • Vue + Vuex + Material
  • Ember

Simple CRUD(Create, Read, Update, Delete)

Server side implementations

Client side implementations

The next come are

  • Angular NgRx-Store
  • Angular + Material
  • React + Material
  • React + Redux + Material
  • Vue + Material
  • Vue + Vuex + Material
  • Ember
  • Vanilla javascript

CRUD + Pagination

Server side implementations

The next come are

  • NodeJs Express + Knex
  • Flask + Flask-Restful
  • Laravel + Fractal
  • Laravel + ApiResources
  • Go with Mux
  • AspNet Web Api 2
  • Jersey
  • Elixir

Client side implementations

The next come are

  • Angular NgRx-Store
  • Angular + Material
  • React + Material
  • React + Redux + Material
  • Vue + Material
  • Vue + Vuex + Material
  • Ember
  • Vanilla javascript

TODO

  • After login or register redirect where the user was
  • Guards
  • It may be a good idea to separate the UsersService from a secrets service, to store the user and the tokens differently, this is how I did it at the beginning: UsersService manages user storage, JwtService manages token storage, then I removed this difference to keep it simple.
  • [] ProductDetails retrieves the current product, change by async load instead.
  • Fix the carousel behaviour
  • Implement the fetch products by tag and by category name, if I try to reuse the ProductList.vue then it is a little tricky because the UI may not update, I have to write good code to handle that situation. The server side apps are implemented to return products by tag and by category.
  • Restrict creation of products to admin
  • Better Exception Handling

Follow me

  • Youtube Channel I publish videos mainly on programming
  • Blog Sometimes I publish the source code there before Github
  • Twitter I share tips on programming

Resources

Project setup

npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

Run your tests

npm run test

Lints and fixes files

npm run lint