Having an online presence is a must for any business in current world. For a company which is selling products, it will mean creating an ecommerce website, from where customers can purchase products. There can be businesses which are selling totally online (Amazon, ebay) and others which already have offline selling mediums (showrooms), having ecommerce site as an additional way to sell products (Bestbuy).
Depending on the business, and role of ecommerce in it, and complexity of the system will vary. For example, one can have listing of products online but actual selling is through phone, or user can order online which is being manually interpreted by backoffice employees, or a completely automated system. There can be different types of ecommerce systems as well, some selling tangible products like mobile phones, electronics, apparels, other might be selling airline tickets, music for download, a consultant service etc.
As noted, we can have multiple types of ecommerce systems, but some of the key components used by most sites are-
Product Information: Product is the sellable unit in ecommerce system (we can sell services as well, but then they will be considered as product for that particular system). We need to have as much information as possible about product so that it can be shown to customer, who can then make an informed decision on purchase. Information should be provided in industry accepted standards, so that it can be compared easily by customer.
Catalog: A catalog is online version of brochure or menu, which should contain all the products (services) business is providing. The products are further categorized/ sub-categorized into meaningful lists like electronics > kitchen appliances > microwave
Search: This is most used feature of any ecommerce website. Rather then looking for a product in catalogs, customer will prefer searching for it by keywords. A good search functionality will make sure he gets what he is looking for (or better).
Shopping cart: All the selected products by customer will be shown in shopping cart. This is responsible for applying any offers, taxes, discount etc.
User Details/ Profile management: An ecommerce site might allow a user to shop without login to system. But at times it is desirable to let user create a profile, so that he does not need to enter his details (address, name, phone number etc) everytime he makes a purchase.
Order management: How can customer order for a product or a service? Can he order online, send emails, call up customer care or go to nearby store.
Payment: What are different modes of payment customer can use- Credit card, debit card, net banking, cash on delivery etc. Usually a third party payment gateway can be used to keep focus on business requirements.
Guarantee/ Warranty management: A product might have guarantee or warranty associated, which needs to be honored by the business to make sure customer is coming back to it.
Offers: Businesses need to come up with frequent offers/ discounts/ loyalty programs to boost up sales. Business also uses techniques like cross sell or up sell to increase profit and help customer make good choices.
Privacy Policy: A business might need to collect some information from customer like name, address, age (sometimes more private info) etc. What will happen to info collected from customer (kept private)? Also will cookies be used by the site?
Security: Customer might be sharing sensitive information online, so system needs to use https/ SSL for data collection. Additional requirement will be to secure data already collected by use of authorization and firewalls.