Is it possible to create simple frontend for use with Virtocommerce without writing liquid pages - virtocommerce

I am evaluating Virtocommerce for a small startup company. We only have a few products and would like to make use of VC's user and payment modules instead of creating a website ourselves from scratch. We are familiar with asp.net mvc, angularjs and RestAPI. However, we would rather not learn and use the liquid theme engine if all possible.
So the question is, is it possible/a good idea to simply create a angularjs web app and call storefront's RestAPI? Please advice. Thanks.

Yes, of course, it is possible, you even can exclude VirtoCommerce.LiquidThemeEngine project from storefront solution and use ASP.NET razor views for the rendering SEO critical pages and use client SPA for another kind of presentation logic.
We have some clients who use this kind of storefront implementation (without Liquid themes) but unfortunately, I couldn't provide any of these examples because they aren't in a public access.
If you will have more questions you might ask them in our community chat gitter VirtoCommerce/vc-platform

Related

store development by using Spartacus for front-end,

I am a beginner to Spartacus so I have a few queries in my mind.
Kindly validate my understanding so far with respect to spartacus:
I believe, Spartacus framework will expect all CMS component from SAP Commerce. Once spartacus receive a component from SAP Commerce then it can be customized as per need
I have setup the sparatcus storefront and it's up and running. I have followed the steps mentioned in documentation, but now coming to my customization/implementation of my storefront from complete scratch like header/footer banner etc component needs to be created. So how can I go and which files need to be updated? I mean can this be done from SAP Commerce side first (Component) then Applying CSS and JS can done in Spartacus side?
These are brought questions, and not easy to answer with short answers. A few pointers:
Not necessarily. You can adapt other CMS systems, or customise partially regardless of the CMS.
You can customise CSS, customise CMC components, use outlets to amend existing DOM, etc.

How can I use Vue.js to make a MPA? (Or should this project be a SPA?)

I have just picked up Vue and am trying to figure out the best way to structure this project.
Requirements:
A basic MPA (traditional site) with about 6 pages. This will be static info.
There will need to be a login section where customer will transmit data via form. Payment will happen here as well so will need to be secure.
My question is how should I be using Vue here? (I've already used VueCLI to scaffold out the project)
Should I:
A) use it for some components (Navbar, buttons, forms, etc) and keep structure traditional? How would i build out the User Dashboard to submit form info in this case - just as a new page?
B) or should I build this whole site as a SPA and have the new 'page' info loaded in on click? This would be easier for the login section?
One thing that may be clear on reading this is I don't understand well how the site will recognize users and deal with logins. Would this be easier if it were structured as a SPA? (more secure?)
(Also, I'm using this site to teach myself front-end development, specifically would like to learn more about building SPAs - so I realize I could use a web editor or easier solutions, but want to learn how to do a lot of this from 'scratch')
From what you've described it is entirely up to you. Both SPA or MPA would work fine and either would be totally reasonable given the requirements.
Have you worked with Vue-router before? SPAs don't need to appear as a single page to the user. They can still function as an MPA with different routes, page files, permissions, etc.
If you are hoping to use this project to teach yourself front-end web dev and know you have a particular interest in learning about SPAs, I think that is your answer.
I would go with an SPA and set up vue-router to manage your routes, and pages.

Shopify can we change and override core code?

We have got new work for e-commerce website which is built in Shopify framework.We have a custom requirement on this website.the client wants to change the functionality of search box section in the header.Since we have not more idea about Shopify framework but we have worked in Ruby on Rails (Shopify built in RoR language) language.So my question is can we override and edit Shopify core files?if not what is the solution to make custom work in Shopify?
As in my knowledge, Shopify is paid framework and his team is provide extension and plugin but can we edit and update in these plugins?
If anyone has an idea please share your thoughts so that we can proceed our work.
Many Thanks in advance.
You can not overwrite Shopify's Core framework. There is some customization that can be done through their script editor but it is only available for plus merchants.
https://help.shopify.com/manual/apps/apps-by-shopify/script-editor/shopify-scripts
What kind of functionality are they looking to change? Most likely you'll have to create an external application and use Shopify API's to do this or use a search app from the app store.
You can not overwrite Shopify's Code. There is some customization that can be done through their script editor.
highly restriction Admin Pages Like Dashboard, Product pages, order pages, etc...
Most likely you'll have to create an external application.

Structure a large Aurelia application on ASPNET Core MVC

I have started to work on a greenfield web project which will use ASPNET Core and Aurelia. I cannot find a definitive best-practice approach to structuring this on the client. My current thinking is that each app feature will be be a separate Aurelia application, i.e. when a visitor clicks on the link "Accounts" the browser will make a server request to https://example.com/accounts. This will return a single HTML page which bootstraps an Aurelia app just for accounts. All the accounts interaction will be delivered using Aurelia. Similarly, if the visitor then clicks on "Dashboard", another server roundtrip will bootstrap the "Dashboard" Aurelia app.
Is this a good way of approaching the problem? I have some concerns around application state - in that there will be cross-cutting concerns and data which I don't want to keep round-tripping to the server every time I need it, e.g. audit logs, user information.
I see that Aurelia has the concept of Features - semantically this is exactly what I want as each of these areas of the app will be delivered as a feature. However, I cannot find any good examples of the use of Aurelia features.
Any comments or experiences in similar projects most welcome.
I don't know if it's the 'best' way of doing it but a lot of the applications I build are user / admin type products.
Rather than building an application for each side I take advantage of child routers and structure my application with a page based convention as described here:
https://ilikekillnerds.com/2015/10/how-to-structure-an-aurelia-application/

Bigcommerce - Implementing custom code that runs on server-side to create multiple versions of page for a product?

I'm new to Bigcommerce but experienced with web app development. I have a need to make customizations to a Bigcommerce store where I need to implement custom logic that runs on the server-side which affects the output in the UI by deciding which page to serve. For example, I want to have different versions of a product page for different locations. I want each version to have a static URL, however, for SEO purposes. I need to implement logic in the server-side to do something like detect user location based on IP and then determine which of the product version pages to serve. I realize I can do this with JavaScript but I don't want to as I don't think that would work as well for SEO.
I have looked over their API and templating briefly but am not seeing a real way that this is possible. Wondering if anyone can guide me in the right direction or is Bigcommerce too simplified to allow this sort of customization?
You do not have server side access on Bigcommerce. The only would to do this would be client side with javascript.