concretecms-community-store / community_store

An open, free and community developed eCommerce system for Concrete CMS
https://concretecms-community-store.github.io/community_store/
MIT License
106 stars 66 forks source link

Overview and direction #1

Closed Mesuva closed 1 month ago

Mesuva commented 8 years ago

(I've moved much of below to the roadmap section of the wiki - https://github.com/concrete5-community-store/community_store/wiki)

Here's a rough 'roadmap' as to where I think Community Store needs to go. However, let me stress that this project is intended to be completely community driven, so it's really just a suggested list.

I think the goal should be to keep the 'core' of the store as lightweight as possible through the use of Event hooks and a well rounded API. If a feature is something that is less commonly found in online shops, it's perhaps best to be developed as a separate add-on (which can then be stored within this github organisation as well).

Right now the shop is quite stable, but there are some aspects that would benefit from more testing:

Immediate testing required

mnakalay commented 8 years ago

Hey Ryan. easypost is not free. Do you still want to have it in the core or a separate add-on?

Mesuva commented 8 years ago

It's something that I reckon is better as an add-on, just to keep the 'core' leaner.

I like the idea of anything that interfaces with a third party being separate as well, hence why I split Paypal out as it's own add-on.

I may have misunderstood the pricing of EasyPost, but I was under the impression that it was only if you wanted to received a printed label or do tracking that it had fees (which I then thought was pretty reasonably), whereas if you just wanted calculate prices that their API was effectively free.

My personal need is for a shipping method that interface with Australia Post, something EasyPost includes. There are some libraries around for Australia Post, but I thought that EasyPost might be able to the same amount of work to cover a whole bunch of others at the same time.

mnakalay commented 8 years ago

Oups my bad, you are right, calculating fees is free.

It is made clear in the "getting started" guide https://www.easypost.com/getting-started

rii-J commented 8 years ago

Hey, we are using the community store for the first time for a client, and those all the improvements we are doing right now, so may be some of them can be commited

Mesuva commented 8 years ago

I'm certainly encouraging of extra features like this.

With the the buyer information, additional order attributes have recently been implemented, but they're really just in their own part of the checkout - it would be nice to be able to add further attributes specifically to the billing or shipping set of fields.

Quite a long list of improvements have been merged into master in the last few days, so it's worth checking out those changes if you haven't pulled down a copy for a while.

hurtlecreative commented 3 years ago

Hi Ryan, I see 'Discount codes should be able to be directly entered on checkout screen' crossed out in 'Important complex development'... Is this something being considered? I've been looking for a gift card/promotional code solution, and hoped the 'Gift card payment add-on' by Revolve 314 Digital would fit the bill... https://github.com/Developer314/community_store_buy_gift_card However, you can only use a code as a payment method (for a product+shipping equal to or less than the value of the voucher), rather than what you mention above. Appreciate your thoughts on this... would be an excellent feature!

Mesuva commented 3 years ago

Whilst that list is arguably a bit old now, if it was crossed out it means it was actioned in some way. Nearly all of the things not crossed out on that list have actually been addressed, this thread either needs closing or updating.

There is a way in both the cart page and checkout page, to enter a discount code and apply it. I think that's all it was referring to.

Gift cards are really quite a tricky thing to handle, as they're quite different from a discount really. A gift card had to be registered somewhere and then its current value tracked. And then in the checkout, it's not really a discount being applied, it's credit to be applied against the invoice. That's why I think the add-on you've linked works as a payment method.

The closest thing in Community Store right now to gift cards is the ability to have discounts that apply a fixed amount discount, rather than a percentage. Those can be single use, but it doesn't handle cases where someone might have $50 gift card, but they use it to buy $25 worth of stuff.. the other $25 is effectively lost. I wouldn't be happy with that if that was my gift card...

As we don't have a way to have multiple payments types pay for an order I unfortunately don't think there's an immediate solution for this.

hurtlecreative commented 3 years ago

Thanks for the explanation! In that case, I'll go down the discount code route... thanks again 👍

JeffPaetkau commented 3 years ago

The closest thing in Community Store right now to gift cards is the ability to have discounts that apply a fixed amount discount, rather than a percentage. Those can be single use, but it doesn't handle cases where someone might have $50 gift card, but they use it to buy $25 worth of stuff.. the other $25 is effectively lost. I wouldn't be happy with that if that was my gift card...

I needed giftcards for a recent project. When the site generates a gift card it creates a discount rule code with a fixed amount. After an order the rule is adjusted (in your example from $50 to $25) so it can be used again. After it hits $0 the rule is deleted. A bit of a hack but it works.

Mesuva commented 3 years ago

@JeffPaetkau that's very clever, and actually quite simple logic wise. An option to behave that way might be worth adding to the core of the system...