The importance of implementing recommender systems has significantly increased during the last decade. The majority of available recommender systems do not offer clients the ability to make selections based on their choices or desires. This has motivated the development of a web based recommender system in order to recommend products to users and customers. The new system is an extension of an online application previously developed for online shopping under constraints and preferences. In this work, the system is enhanced by introducing a learning component to learn user preferences and suggests products based on them. More precisely, the new component learns from other customers’ preferences and makes a set of recommendations using data mining techiques including classification, association rules and cluster analysis techniques. The results of experimental tests, conducted to evaluate the performance of this component when compiling a list of recommendations, are very promising.