I am tasked to build a shopping cart that sells book. I would like to seek help in putting me in the right direction as to where to go from here.
As of what I see, I can do the cart in two ways:
Use CI framework and build the site from scratch.
Use an existing shopping cart system and build from there.
The problem with doing the CI is its very tedious. You are basically building from scratch. So this will take time and add to the fact that this is my first time building a shopping cart. The second option seems to be ok. Why would I re-invent the wheel so to say. The only problem is finding the right open source cart that is well documented for me to start on.
So based on the two options I have. If you think it is the second option, can you suggest (if you had created a cart before) a shopping cart application that is easy and the code base is similar to CI. I found OpenCart to be ok but I would like to seek other suggestions before I start.
There are many things to take into consideration here.
What is your programming experience?
Have you worked with big scale web applications before? (I would say that almost all online store could be considered big scale web applications)
Have you worked with payment integrations?
Have you worked in setting up hosting environments?
What is the budget for your project?
Are you the only one working on the project?
What is your client expecting from the finished product?
When the store is online, who manages hosting, support, maintenance, etc?
Building a online store is no simple and small task. A small store with a flow like this add product to cart -> go to checkout -> pay using a third part payment provider could be accomplished quite easily and fast. But here are some more considerations:
Shipping methods, should there be multiple ones?
Must the site handle multiple countries, in that case you have to consider VAT, shipping again, etc.
Payment options: Credit card, SMS, invoice, PayPal, and the list goes on.. What should be available? And this will require a good hosting environment if you wish to do direct implementations (SSL certificates, etc).
Handling orders, returns and products in the backend
Discount features, such as discount codes
Being able to sell multiple products bundled as one.
I could go on for a while and make the list more and more specified, but I don't really have the time for that :) And this was just to show you that there are a lot of factors that comes in to play when building an online store.
Magento
This is an excellent choice if you are an experience developer and familiar with the Zend framework (which it's built upon). Take a look at the features for Magento, pretty much anything is possible with Magento if you know how to customize it correctly. This is not an easy task if you're not familiar with it and the learning curve is very steep.
This is a bad choice if you're not experience or the store doesn't need all of the advanced features. It's a resource hog and if you don't know your caching you will have a bad time.
Shopify
If you need to setup a online store in a hurry with a stable environment and you can settle with having the features they offer, I would say this is your best choice. Well actually I would say that at least 90% of the times, this would be the best choice.
You won't have to worry about payment implementations, backend development, support, hosting, and all the other things that comes into play.
Conclusion
I've only listed 2 options here, one advanced and one more simple on. I think you should really investigaste the different options. Take a look at their features, how much they cost, etc. Then you have to take that into consideration vs the time it will take for you to complete the store.
At least I hope I gave you some perspective on this, just let me know if you have any questions on what I wrote.
I recommend Zend Framework to building shopping cart site. If you want to build from existing tool use Magento. Check Front End and admin end here
You can create your custom module or download free modules and can purchase developed module from magento.
You have couple of options
Magento
Opencart
Both of them are built for e-commerce.
Magento is slow without any doubt, opencart is fast but not the best as Magento.
If your's application scope is limited, you can build the application in CI and i knows that it will be faster than both of these two.
But as programming perspective, its always better which is already build instead starting from scratch.
Related
The current site I am supporting is going to become eCommerce. And naturally they need a shopping cart to support it. There will be some sophistication in the sense that they would need to support multiple currencies, multiple languages, delivery methods, subscription models et al.
However they are not a market place, so they do not really care about multiple vendors or multiple store fronts.
Since the site is in PHP, I looked at a few like x-cart, opencart, magisto community edition and prestoshop. The dilemma I have is that the current site management is very particular about design, and most of these shopping cart implementations seem tough to me to customize to the level they would want.
The alternative is to write a custom cart, which is a waste of time & effort since we are reinventing the wheel (which has already been reinvented a gazillion times).
I want to leverage what the open source community has to give. I feel that the middle path is there is a good package available ONLY as a class/module/backend - without the front end UI so that I can start using it and building it how I want.
How does the PHP community approach this problem. From a solution implementation perspective, is it better to build one from scratch?
I am not sure if anything like that exists, though. I would appreciate anyone who can point me to any online resources that will help me in my quest.
Thank you.
If you cannot find any resources to build from you will need to create this from scratch but this is sometimes the best solution as it will be to the project specification.
But my best advice is to look how other cart systems are built and expand and implement functionality, like you said don't reinvent the wheel.
When completed, its always a good idea to upload the project on platforms such as github.com so other people in the same situation can use your code.
I'm about to start a new project. It's about selling one completely customizable product.
therefore its core elements will be
Static pages
an extensive configurator with heavy jQuery+AJAX UI
registration, basket, checkout
Payment gateway integration (paypal etc)
backend: billing, order management
Email notifications
Social Media integration - Twitter feed etc
User sign up / subscription
i'm torn between using OXID/Magento or starting from scratch with a php framework as yii.
but i am open to any other better solutions.
The advantages of OXID/Magento is that it already covers the whole "shop" part, but would need changes how to integrate a complete customized product with an configurator, it seems also a bit too much for just one product and heavy loaded to use a full blown shopping cms.
With a framework like yii i would have to write lots of its functionality (checkout,billing,backend etc) from scratch but would have a cleaner solution and maybe less headaches and problems programming modules or customizing OXID/Magento at its core.
My background is PHP!
Any advice would be great,
thanks a lot,
Christoph
It depends on your project requirements, how much time/money you have if:
Your time to market is short (less than one month), and you need to a have a fast presence in the market. Your business requirements have simple 1-1 mapping with CMS features, then go with a CMS such as Magento/Joomla/Drupal, etc.. depending of how much features each one achieve for you. Here a discussion about simpler Magento alternatives " https://stackoverflow.com/questions/2693169/a-good-ecommerce-alternative-to-magento " OR you can check wordpress e-commerce plugin.
If you care about performance, scalability,high customization,moderate business requirements, you have time (3-6 months). Then for sure go and build your own solution using some PHP framework Yii/Zend,etc.
If you are writing a mission-critical system for the long run. That need to handle millions of users, you have time (more than 6 months). Then you will need to write everything from scratch, write your own PHP extensions, leverage cloud storage, etc..
If I recall well, both OXID and Magento are coded using Zend. So I'd say that your initial idea to combine them is a good one because it means you could extend the initial app with your own classes, sticking within Zend.
The drawback is that Zend's native Javascript framework, that apparently also comes with Magento, is Dojo, which I've heard isn't nearly as developer-friendly as JQuery.
So perhaps you should add the Magento jQuery Base extention (http://www.magentocommerce.com/wiki/4_-_themes_and_template_customization/javascript_related/how_to_use_jquery_1.2.6_lastest_with_prototype)
This way you'll be zend all the way (that pun was lame) but you'd rely on JQuery for the heavy Ajax and UI job you're mentioning.
You can do all of that with Magento. Most of it is in core, some of it you can write custom modules for.
As CMS I like Joomla because of it's flexibility (certainly since version 1.7). For a blog: WordPress and as framework you can also use Joomla or two other options I've tried and liked are: CodeIgniter and Yii.
MAgento is also a good option with great possibilities but it's a bit hard to get into it. Also it is a bit slow so you need a decent server to host a magento website..
I'm looking for some advice from the community about constructing an online store based on the following information:
About the Store:
Online store that sells physical products
product page will include elements such as customer reviews, product zoom, "you may like" etc.
uses open ID
needs a full backend to support credit card payments, order tracking, shipping, refunds, adding new products to the catalogue, etc
needs to support 3 languages (this is a business requirement)
About my skills:
I've built a similar e-commerce site in raw PHP before with many of the features I want for the new store, however that was my first big PHP project and I know it's coded terribly
My PHP/coding skills are novice and self taught and I have no experience with a framework but I'm keen on learning about one to improve my skills and to make the site more manageable for any coders who inherit the project after me.
My questions:
Do you recommend I build the new store using a MVC framework? If so, which one for this type of project? I have never used one before. I have read that CodeIgniter is good for first timers but I've also read Kohana is great so I'm torn between the two and would prefer something that won't have too steep a learning curve.
Do you recommend purchasing an existing shopping cart/web store system and then modifying it? Or just building the whole thing myself. I have a 3.5 months until launch. Personally I prefer building it from the ground up because I will know all the ins and outs of the site and I really dislike getting stuck not understanding someone else's code and how to control it. However, maybe this is ignorant of me and I should force myself to use something already existing because it's probably coded better. Thoughts?
I have done a lot of reading and research and I felt it only made sense to ask the vastly more experienced community on Stackoverflow instead of just trying to make the decision myself.
I would recommend you to go for CakePHP framework. I did my first e-commerce project with the same and it was pretty easy to learn and gave me a fully customized site as per my needs. It has built in localization, user authentication and also an openID component readily available for it.
In my opinion if you use ecommerce solutions like OSCommerce or Magento, it gives you a lot of unnecessary features and less of required customized options.
You could give a try customizing the OSCommerece which is built in PHP.It has got a wide variety of plugins available with a great user community support.Lot of online web portals are running on that.
I have been tasked by a client to rebuild an E-Commerce platform. The goal is an online shop on which vehicles are sold. The specialty is that it's supposed to be multi-supplier capable, i.e. external suppliers will have their own login back-end where they can manage their listings, add new ones, view their sales, etc.
The shop shows all the suppliers' products in one big catalogue that should ideally support some options like sorting and filtering, but they are not a requirement. Orders are transmitted to each relevant supplier, and the administrator, by E-Mail.
The ordering process is very simple - it's essentially just taking the ordered item out of the catalogue, and informing the supplier (and the administrator) that the item has been ordered. No online check-out / payments are required, although they are nice to have as an option.
All the on-line shopping systems I know are targeted at one single administrator.
Are there shop systems out there that can handle what I need?
Requirements:
Top priority: Quality code. Preferably PHP 5 and object oriented. I don't care about the exact feature set of the product as long as the existing code is nice and neat to work with.
Access control: Suppliers can log in and add and manage own products; have no access to the rest of the system. Administrators can manage listings and configure the shop. Administrators create supplier accounts
Must be multi-language or localized to German
The sales process is very simple: An E-Mail to the supplier and to the administrator, containing the buyer's data, is enough.
No need for on-line payment/checkout, although it is a welcome extension
Open Source is preferred, but a commercial solution is not out of the question if the product is really, really good and well documented
As long as the basic product is fine and supports the basic catalogue and user management necessary for this, all further features are negotiable (i.e. I'll add them myself if necessary.)
If no payment methods and checkout is involved, it is surely better to write from scratch. With any of the existing systems, you will just have the overhead of code that is not actually used. Also, not so many systems support searching and filtering by parameters and this seems to be a core feature for such a large project.
Magento ! You have to use it, its the best thing since sliced bread.
I've created a multi agent e-commerce system that had reps login and add sales, credit notes and so on. The system had a standard catalogue setup. It could even be customised so that supplier A could have their own shop, supplier B have their own. They could both skin them and so on.
We have different languages. It has a massive developer community so anything we didn't have I just bought and integrated (My time is expensive, this gave the customers real return). There is an open source version, which is what I used, there is also a pay version. I really cannot recommend it enough.
I'm currently working on a similar project.
I'm trying things out with magento to begin with. There's an add-on module for advanced permissions aitoc_magentomods_advanced_permissions which might help you.
The first problem you're going to have in getting a multi-supplier type system is that it will never meet your needs.
If you really wish to have the right system then you should create your own from a decent framework.
if you still wish to use a pre designed system that meets the needs you specified i would go with Magento
Magento is one of the most advanced E-Commerce system I have ever worked with.
The code itself is not so much easy to work with at the start but you get used to it after a few days/weeks.
In regards to the "Access control", im not 100% weather this is supported but the Magento system is very abstract and im 80% positive that this can be done.
"Must be multi-language or localized to German", Every language you need.
"The sales process is very simple: An E-Mail to the supplier and to the administrator, containing the buyer's data, is enough."
instead of me going on about the features i advise you to check it out.
http://www.magentocommerce.com/
But I still would prefer to develop my own framework and build from that.
Regards.
If you're going to build from scratch, do it in Seaside. You're likely to find available solutions don't meet enough of your needs. The quality of code is going to be much better in Seaside. Real reuse, no templates.
Talk to Norbert Hartl
I'm about set up my first eCommerce site. I was hoping you could recommend some shopping cart software. What are the perks of using pre-built software rather than developing some simple solution catered to my needs. Also, are there pre-written Terms and conditions for sites? Or templates that outline what aspects need to be addressed? What other things should I look out for when building this website?
Also, I develop in PHP server side, so software in that language would be best.
I use osCommerce a lot, but this software is a bit outdated. Magento is a good alternative for setting up a commerce website.
Google Checkout is probably a good starting point for a clean base to start from: http://checkout.google.com/sell/.
The hands down easiest all in one ecommerce platform IMO is the Yahoo Small Business platform - you have a number of options there, including using hosting and php. It's not free, but you get EVERYTHING you need to run an eCommerce store all in one painless spot - your cart, ssl, content management, integration for merchant gateway, shipping rules, integration with ups realtime rates... Order processing, the whole nine.
There are two ways to develop on this platform - using their proprietary RTML language, or use the hosting that you get with it and access the items in your catalog through what they call store tags.
So I wound up writing my own shopping cart software because the site is not based in the U.S. and services like PayPal and Google Checkout do not cover it. I coupled my cart with an API from a national bank to charge credit cards. This required SSL which was easy enough to set up.
I found a Terms and Conditions generator online and used that to lay out the basics of the document. Then I added site specifics myself and tried to sound as much like a lawyer as possible.
I second Yahoo! Small Business (although I would get a developer, their default template looks horrible). If you are looking for something that looks nice and is out of the box good to go, Bigcommerce would be my second choice. After that, I would go with 3dcart (it's a little more flexible, but the default themes are not as good as what Bigcommerce offers). Although, if you are a hardcore programmer, going with Drupal Commerce would probably be your best bet, but you will really need to know some programming to customize it. On the plus side, it is the only cart that I have mentioned that is free (minus hosting costs of course).