Case Study – Fabric & Curtains

Technologies Used

  • ASP .NET
  • MS SQL Server
  • HTML
  • CSS
  • Javascript
  • jQuery

Description is a brand new innovative E-Commerce website and the online presence of Ni Faolain Design. The site went live in 2010 and is a completely bespoke solution built to the custom specification of the client.

The interesting thing about this project was the challenge of making it easy and intuitive to purchase custom products over the web. Unlike most items sold on the web, curtains and blinds are very personal items and customers need to specify many preferences in the buying process. Getting the customer order flow right was a major challenge in this project and in the paragraphs below we’ll describe how we achieved this.

Meeting Client / Requirements Discussion

Early on we set up a face to face meeting with Ni Faolain Design. Where possible we always like to meet with prospective new clients in the flesh on projects of this scale.

The definition of requirements is an important aspect of any project and by meeting face to face we can interact with the client and clarify requirements to a detailed level. The number of variables and factors involved in the purchasing process of curtains and blinds are surprisingly complex so face to face communication was a must on this project. Early on we discussed the following high level requirements:-

  • domain name registration & site hosting
  • customer order placement flow
  • customers area where they can save designs, update personal details and track orders
  • PayPal & Realex payment engine integration
  • Back-end order management & automation
  • Back-end customer management
  • Flexible dynamic site settings (e.g. prices, VAT rates, delivery cost)
  • Fabric design management
  • Accessory management
  • Content management

As we fleshed out the high level requirements, we recognised early on that a bespoke solution was required to fully satisfy the low level requirements and make the solution as flexible as possible. It became clear that one of the most important aspects of the project was the customer order flow at the front end and the calculation formulae for pricing and as such we spent much of our initial meeting clarifying this aspect of the project.


We wanted to give the client something to play with as early on in the project as possible. We took the order process flow and concentrated on building an end to end customer flow so that the client got a sense of how the customer made their choices and completed the order. This was invaluable to the success of the project as the client made a number of alterations to their requested flow early on in the project.

In many cases it’s beneficial for the customer to get their hands dirty with some functionality at the beginning of the project and this was certainly true of this project.

Ordering Process

Most E-Commerce systems feature a flat shopping cart :- i.e. a flat catalogue of products where the customer just needs to select their product(s) and their quantity before moving on to payment. This clearly wouldn’t work for curtains, fabric, cushions & blinds where there are many variables in the ordering process.

If we take curtains alone, the customer must select their design from a number of colour swatches, select whether the curtains are for a pole or rail, select the heading style, window type, before entering window measurements, lining types and whether they want tiebacks or not. The customer needs to answer a lot of questions before payment is complete which, if not handled correctly, can put the customer off.

It was crucial to make this process as intuitive as possible and we achieved this by incorporating graphical feedback in the form of images and previews of the curtains along the transaction path.

Realex & PayPal payments are integrated into the system by default.

Customer Area

The client wanted to give the customer the ability to save designs to their own private area of the system :- this was for the benefit of people who followed the order process to build their custom design but did not necessarily want to purchase there and then but come back to preview their design and purchase later on.

Also in the private customer area, the customer has the ability to track orders, view previous orders and update their delivery and personal details.

Back-End Development

This project called for a very comprehensive back-end to manage orders along with a host of other critical functions for the client. The back-end is comprised of a number of different modules:-


The client is the site administrator and has access to the back-end through a secure username / password protected portal.

Content Management

The client expressed a need to update website text themselves (to keep content fresh). We built a custom lightweight content management module into the back-end to fulfill this need

Design Catalogue Management

At the centre of the fabric business is the fabric designs themselves. Fabrics needed to be uploaded & managed in the system. Depending on the item being purchased (curtains, blinds, cushion, fabric) the designs will have different behaviors in the ordering process and the client has the ability to control the different parameters along with upload an image of the design to appear in the front end catalogue for customers.

Order Management / Automation

Once orders are captured by the system at the front end, it’s important that the back-end has the capability to make the processing of these orders as straight forward and automated as possible. When an order is submitted by a customer an automated mail is sent by the system to that customer with confirmed details of the order and a note to explain what happens next.

We have implemented a 4 step workflow for order processing at the back-end. Firstly we have the order received phase. This is where the order has been acknowledged but work hasn’t begun yet. Secondly there is the fabrication phase which is when the order is being worked on actively. Thirdly there is the order ready phase and finally the shipped phase where the order has been dispatched. As the administrator moves the order status between the different phases, an automated email is sent to the customer with details of the current phase. The customer can track the status of their orders on their personal login area of the site and can even track packages from the chosen courier.

Customer Management

Customer / member management is another important facet of this project. The site administrator can run reports on customers and view a customers history on the site (orders, saved designs, num logins, last login etc.)

Site Settings

The solution was built with flexibility in mind and the client needed a lot of control over variables in the site. For example, VAT rates, delivery rates, various thresholds, fabrication costs are all variable and can fluctuate over time. The client can update these settings at the click of a button.


We always like to give our more complex solutions a clear dashboard or a high level ‘at a glance’ view of their online business. The dashboard shows at a glance:-

  • unprocessed orders details
  • orders in fabrication details
  • shipped orders details
  • recent member activity
  • recently added new designs details
  • recently added accessory details

The dashboard serves as a one stop shop for the client to see what’s going on in the site currently.

Final Solution

We were faced with many challenges on this project and it was very rewarding to see all the different modules come together at the end to give an innovative & user friendly front end along with a coherent & flexible back-end.

When the solution went live, e-Commerce payments were handled through Realex alone. Some months later, the client contacted us to allow payments from PayPal be accepted. The flexibility of the solution allowed for this change with ease.

Recent Posts



Tag Cloud


Some Of Our Clients