I am preparing a proposal to build a basic business portal for a client who would like a public consumer access point for their business.
The functionality of the site is straight forward and I will detail below.
I've been building non web based applications of all sizes for 16 years and am comfortable estimating them. Building a web application is a new experience for me. I've heard that building web applications can be a bit more difficult than building equivelant functionality in windows forms - I guess this is mainly a result of trying to mimic rich client functionality through a browser, but I could be overlooking other complications that I will find on the road ahead.
To help me "acid test" my own estimation efforts I thought I would put it to the experts to advise what they would estimate for this project. Just to clarify up front - I'm not asking for the estimates to be done for me and I'm not expecting a lot of effort - just to tap what a lot of you guys will probably find to be a walk in the park estimate and help me tune my own estimate that I am preparing in tandem.
I would like the estimate to broken up into a basic work breakdown structure and to be made on the following basis:
(I will award points to the most complete and realistic estimate with explanations, assumptions and caveats defined as necessary. I will welcome debate and am happy to split points for noteable contributions if not the accepted estimate.)
- assume a suitably competant ASP.Net developer with experience building web pages (this is not me yet, however I will not be including my effort in getting up to speed in the cost to my client)
- professional quality site suitable for public consumer use
- include all tasks from conception to deployment (any ongoing maintenance costs can be identified seperately if any)
- include all generation of html and advise tool proposed to use (dreamweaver, visual studio - I'm not sure what is most effective to use yet)
- hosting will be through a suitable hosting vendor and deployment will be a part of the project cost (deployment cost to project)
- artwork, text and colour schemes to be provided by the client (not a project cost)
- layout of pages to be designed as part of the project (project cost)
- be correctly rendered on all major browsers - ie, opera, mozilla, others?
- solution will scale from low volume to high volume site to suit the growth of my client's business.
- preferrably no use of commercial 3rd party add ons or obscure unproven open source add ons - widely accepted open source / community components / application blocks will be fine
- best practice techniques
- extensible architecture for future development and addition of complexity to the portal
- secure against attacks
- sql server database
... I accept that this is all pretty obvious stuff. I have included it for completeness and to bring uniformity to any estimates offerred.
I'm also considering building this in PHP and have posted a similar question in that forum. I'm not sure what the pros and cons are yet for using ASP.Net and PHP for a simple portal such as this.
The functionality of the site is basically to provide a public consumer interface to search for my clients products and then contact my client regarding the purchase (or sale of a product):
- tab based home page with links to several sub pages
- secure administrator login from link on home page.
- add/modify products page (available to logged in administrators only) - upload new products - for example a commercial property for sale or lease. Capture a couple of attributes, minimal validation and pictures. Pictures need to be automatically converted to a consistant size and resolution optimised for transmission to suit both dial up and cable with minimal quality loss. Pictures will also need to be converted to thumbnail size to show in product listings. I don't know how to achieve this yet, but I have posted a seperate EE question on the topic:
http://www.experts-exchange.com/Programming/Programming_Languages/Dot_Net/ASP_DOT_NET/Q_21172026.html).
- an alternative to this would be to provide a win forms solution if more cost effective for the maintenance of the product database .. but this would have to then connect to the hosted server database directly or through a web services layer, which could make this approach unnecessary effort.
- Customer searches for items: Customer can search on some simple criteria ... a few attributes with dollar ranges and drop down lists.
- Search results returned to customer: Shows rows of product text and thumbnail pictures. For example:
www.domain.com.au.
- Customer selects a result row: Show full text and attributes for the product. Allow navigation in-page of pictures and give customer full resolution view option for those with cable.
- Customer requests brouchure: a pdf document is prepared including the product text, attributes and images for printing on a colour printer.
- Contact Us - text and image(s) with email submission form to a configurable email address through a configurable smtp server
- Sell an item - text and image(s) with email submission form to a configurable email address through a configurable smtp server
- And possibly shopping cart functionality will be required depending on the cost involved. So identifying users by their email address with minimal registration details and giving them a "my products of interest page" with option to remove products and the ability to tag items from the search results page to add to this list.