Hello Programmers,

Today I'm spamming the internet on behalf of a friend of mine, who is planning to start a online product sales service. He would like to know what this will cost, and approximately how long it should take. I have a pretty good idea for the front end and graphic design, but I could really use some help figuring out what the back end will cost. Here are the general backend requirements:

Registration:

This site will initially be a closed invitational beta. As such, all initial registration will be done by the site administrators, via a email invite. Upon receiving an invite, new users will be able to register an account using a registration key that was generated by the site and Emailed to them.

At such a time as the site owner should deem fit, the site will use open registration, or allow users to invite each-other.

Users:

Two primary kinds of users- buyers and sellers.

Sellers create profiles with a list of their products.

Sellers also have a profile page, where they can post status updates about their products, and receive comments, reviews, and ratings from buyers (at their discretion).

Buyers can also create a profile page with information such as what sort of products they are looking for, quantities, etc. This profile can also link to a history of goods purchased by the user.

Both customers and sellers will have profile pictures, which will appear on their profile pages, and beside their posts;

Products and Transactions:

There will be a product listing similar to those on sites such as Newegg, where users can select lists of products by category, sort them by price, seller, and quality. A similar list will be available on the sellers page, pertaining to the goods he sells.

Products each have their own page, with images, description, optional expiration date, and an add to shopping cart button. If an expiration date is reached, the product will become unlisted, and automatically removed from shopping carts. If removed from a shopping cart, the user will receive a notification.

The checkout section will accept credit cards, Paypal, and other methods of payment, confirm the type and quantity of goods from specific sellers, and choose a shipping destination. Users will then be redirected to a confirmation page where they can review their purchase before accepting. Upon accepting, they will receive a invoice via Email, with followup notifications about shipping and arrival times.

Administration:

Support tickets to the administrators will be made available to buyers and sellers;

Support tickets will come in several formats, including help with accounts, and dispute mitigation with other users.

The websites administrator(s) can invite new users, and moderate user accounts.

Speed, Bandwidth, and Resources:

The website should load quickly (ideally under a second);

Bandwidth usage should be optimized, using a combination of backend image manipulation, and caching. Ideally this should result in an average page bandwidth usage of less than 1 MB;

Ideal server RAM usage is under 50MB per page;
Thanks for reading, I look forward to hearing from you guy's.