News:

Looking for documentation? Take a look on our wiki

Main Menu

Can VirtueMart handle these requirements?

Started by Enforced, September 08, 2018, 17:33:19 PM

Previous topic - Next topic

Enforced

Hello,

I want to create an online shop which sells furniture to consumers. However, I'm still unsure if VirtueMart can handle all the requirements.

Therefor, I've listed all the requirements below. Can I get your advice on the feasibility?
The things which are not that common in an online shop and require extra attention have been marked in red.

Categories
The online shop should contain 3 different categories:
- Tables
- Wall cupboards
- Coffee tables
Each category will contain about 10 different products.

Products
Each product will have a number of options which the customer has to select to customize the product.
The configuration which is mentioned below describes the different options for the category 'Tables'.
- Length: 4 options in list of values (180 cm / 200 cm / ...)
- Width: 2 options in list of values (95 cm / 100 cm)
- Frame: 7 options in list of values (X frame / A frame / ...)
- Wood: 6 options in list of values (Oak / Beech / ...)
- Color: 6 options in list of values (White / Grey / ...)
- Finishing: 10 options in list of values (Natural oiled / Brushed / ...)

The different configurations are independent, for example all frames are available for all lengths. Due to the large number of parameters and options, there are more than 20.000 different configurations for one product. This cannot impact performance when loading a product / configuring a product.

Details at product page
The application should show:
- A main image
- Several extra images
> A zoom in on hover is required
> When changing the configuration of a product, the image does not need to change
> There is no watermark

Product description which is free text.
Structured attributes which will enable filtering in catalog.
A product should have PDF attachment which will show more detailed info about the product such as technical information.
The application should show a like / share on Facebook link.
The application should show a contact us button.

Prices
- Length: Independent from other configurations
- Width: Independent from other configurations
- Frame: Independent from other configurations
- Wood: Independent from other configurations
- Color: Independent from other configurations
- Finishing: The configuration for length and width determines the price of finishing.
Example: Length: 180 cm + width: 100 cm = Surface 1.8 m²
Based on 1.8 m², the cost of finishing can be calculated
Customer selects Brushed finishing which has a price of 50 EUR / m²
In this case, the price of the brushed finishing will be 90 EUR


The application should offer a discount when a certain volume is reached. Example
- When ordering 1 table, the price is 100 EUR
- When ordering >1 and <=5 table, the price is 80 EUR
- When ordering >5 table, the price is 60 EUR
> Volume discount should take the extra cost into account as well.

Prices should be shown with and without VAT.

Price should change real-time when changing the configuration of a product.

Customers
A guest user should be able to see a base price.
However, when a certain user logs in, he should be able to see a different prices. In total, 4 different types of registered users should be available:
- Customer type A
> A price different from the base price for a certain product and / or receive 10% discount
- Customer type B
> B price different from the base price for a certain product and / or receive 20% discount
- Customer type C
> C price different from the base price for a certain product and / or receive 30% discount
- Customer type D
> D price different from the base price for a certain product and / or receive 40% discount


The application should also offer the possibility to use a promo code; for example:
- 25% price reduction on category tables when using this code

Check out
A user should be able to check out as guest or by logging in.
When visiting the shopping cart, the application should show the different products in the cart and their configuration + price.
The user should be able to receive / print an invoice.
The user should have to possibility to add remarks / free text when placing an order.
The application should force the user to agree with terms & conditions when placing an order / GDPR flag.

Shipping
The user should be able to add their shipping address.
There should be different shipping options, each with their own cost.
Shipping should offer a fixed cost + a variable cost based on volume. Also, the application should allow to offer free shipping when a certain total EUR amount is reached in the cart.

Payment
The user should be able to add their billing address.
The payment gateways (ideal / paypal / mastercard / visa / bankcontact / bank transfer / ...) should allow the most common ways to pay for:
- Belgium
- The Netherlands
- Luxembourg
- France

Languages
The application should allow 2 languages for products / check out / ...:
- Dutch
- French

Non-functional requirements
The performance of the application should not reduce the user experience.
The application should be responsive (different devices such as desktop, tablet, smartphone).
User friendly back end for administrator.

Nice to have
- Wishlist
- Compare products
- Print a product
- Reviews & ratings
- Related products
- Tracking an order
- SEO optimization

Can I get some advice from you? Thanks!

Best regards


StefanSTS

The short answer is: Yes, that is mostly possible with VM core. Some things need extensions and very few custom coding.

The long answer is probably found in the forum for Commercial Jobs since a full assessment needs it's time.

Regards
Stefan
--
Stefan Schumacher
www.jooglies.com - VirtueMart Invoice Layouts

Please use only stable versions with even numbers for your live shop! Use Alpha versions only if you know what risk you are taking.

Studio 42

All can be done with Virtuemart but some features need extra plugins.
About performance, this depend the way you manage your features
For pdf print, you need to adapt the styling to render it nice, by default, the PDF version is not great.
For responsive, this need a good template(using Bootstrap 3 for eg)