thanhchungbtc / vue-shopping-clean-architecture

Shopping cart app demonstrate clean architecture
148 stars 24 forks source link

Great Job! #1

Open st-schneider opened 4 years ago

st-schneider commented 4 years ago

Just to let you know, I was searching for exact this kind of example with DDD, DI, RxJS ... with an ecommerce theme. I found this via https://daily.dev/ -> https://vuejsexamples.com/ Awesome job can't wait to explore the repo.

thanhchungbtc commented 4 years ago

Glad you find that helpful! I’m still exploring clean architecture and find that the division of use cases layer makes it easy to grab the idea of the system.

On the vue side, however, there is an issue when applying rxjs to vuex store. As you can see, to prevent a single subscription in action, I convert the observable to promise, but I think it might be better to use tap to handle side effects like update the state, and only actually subscribe inside components.

There're still many things to do but have fun exploring!

st-schneider commented 4 years ago

I really like just reading the code and it is really awesome. Learned a lot already. https://github.com/vuejs/vuex-observable doesn't this solve the actions observable problem with vuex?

thanhchungbtc commented 4 years ago

Thank you for the link! Just checked and it's so cool! I'm new to rxjs so it might take some time, but I like the idea of using observable in the store and will try to implement it.

st-schneider commented 4 years ago

I'm new to DDD and DI and rxjs :) I'm still looking for a good reason to use rxjs in the front end. So with all the libs in use, what is your bundle size for now?

thanhchungbtc commented 4 years ago

As you can see in the demo, the chunk size takes around 450KB, and ~140KB after gzipped. I think it's reasonable, but never try to compare with other solutions like react or angular though. The reason for using rxjs for me right now is that the ease of switching between http service and websocket, without affecting the app layers (including the store)