How long would it take an experienced Rails developer to

Hi,

I was wondering if any experienced Rails developers would care
to offer a ballpark-conservative estimate of how long they expect
it would take them to implement a simple online ordering system?

This is something I’ll probably be doing soon, and although I’m
new to Rails, I’m an experienced Ruby programmer and have rolled
my own simple websites with CGI before. But I’ve never done
online credit card transactions.

(I see there’s a library on rubyforge that works with Linkpoint,
which I’ll be looking into:
http://rubyforge.org/projects/transact/ )

I don’t think I’ll need a shopping cart, as the company currently
has essentially one product, albeit with the need to handle both
new purchases and special pricing for upgrades from old versions.

But anyway - the first version of the site will need to be
functional, of course, but can be very simple. Essentially I’ll
need to take orders, maintain customer/invoice records, and
email a nightly record of the day’s transactions to the head
office.

Because I’m new to Rails, and haven’t done online credit card
processing before, that gives me a bit of uncertainty in my own
estimate. I’d think two to three weeks is probably a safe
estimate for me to get the first useful version of the site
online, allowing for those unknowns.

But I’d be interested in a reality check of sorts from experienced
Rails developers. How long would you estimate a project like this,
assuming you had to code from scratch but could make use of any
publicly available libraries?

And are there any “gotchas” that I should be aware of that are
schedule risks with this kind of project that might cause me to
miss my estimate?

Thanks much for your feedback!

Regards,

Bill

On 12/8/05, Bill K. [email protected] wrote:

need to take orders, maintain customer/invoice records, and
Rails developers. How long would you estimate a project like this,
assuming you had to code from scratch but could make use of any
publicly available libraries?

And are there any “gotchas” that I should be aware of that are
schedule risks with this kind of project that might cause me to
miss my estimate?

Thanks much for your feedback!

A person with a few Rails projects under his belt, decent Ruby
programming skills, and experience in that problem domain could
probably do the bulk of that in a day or so.

If you had to learn from scratch, dunno, maybe two weeks? A month or
two if you knew nothing about Ruby or databases or e-commerce?

Bill K. wrote:

This is something I’ll probably be doing soon, and although I’m
new to Rails, I’m an experienced Ruby programmer and have rolled
my own simple websites with CGI before. But I’ve never done online
credit card transactions.

hi Bill,

Danger! Will Robinson, danger! Please read this link first:
http://usa.visa.com/business/accepting_visa/ops_risk_management/cisp.html
Although, I haven’t handled credit cards, I do know that Visa and other
credit card companies have handed down some very strict guidelines for
security. If possible, try to use a 3rd party for credit cards, like
PayPal. Not following the guidelines is painful. Your merchant
priviledges are revoked on the third offense, which means you can’t
process credit cards.

Sorry for no ruby/rails advice, but I thought this was very important.

Jason

Joe Van D. wrote:

A person with a few Rails projects under his belt, decent Ruby
programming skills, and experience in that problem domain could
probably do the bulk of that in a day or so.

If you had to learn from scratch, dunno, maybe two weeks? A month or
two if you knew nothing about Ruby or databases or e-commerce?

I think that either this estimate is dangerously optimistic, or my
expectations of “functional” are way too high. Ruby, or Rails for that
matter give an incredible productivity boost, but this is only limited
to
programming itself.

It is very dangerous to think that armed with this shiny weapon called
Rails all projects will last 10 times less … it is much realistic to
say
that now we can do a lot more with limited programming time. Don’t
set
unrealistic expectations, or you’ll be bound for failure.

In my experience time is consumed on understanding the requirements,
discovering the actual needs of the user, and trying to live with the
constraints that are inherent from the project itself. OK that you can
prototype faster with Rails, but this will not give a 10x boost on the
entire project duration.

Zsombor

Hi Bill-

I’m not an experienced Rails developer, but…

…you didn’t mention “*Agile Web D. with Rails” *in your
email.
Pick up a copy if you don’t have it already. It walks you through
creating
an online store, minus the credit card processing.

The amazon link is:
http://www.amazon.com/gp/product/097669400X/qid=1134067125/sr=8-1/ref=pd_bbs_1/002-7674914-6630464?n=507846&s=books&v=glance

But I’ve recently gone back and purchased the PDF version of the book
from
the authors, I find that easier to refer to while I’m tinkering with
Rails

http://www.pragmaticprogrammer.com/titles/rails/index.html

On Thu, Dec 08, 2005 at 10:41:59AM -0800, Jason wrote:

But I’ve recently gone back and purchased the PDF version of the book from
the authors, I find that easier to refer to while I’m tinkering with Rails

Can you give some indication of what “personal information” they put
into
the PDF “for your protection”? I was going to get the PDFs of AWDWR and
the
Pickaxe, but when I saw that in their FAQ, I ran away screaming.

  • Matt

On Dec 8, 2005, at 10:11 AM, Bill K. wrote:

need to take orders, maintain customer/invoice records, and email a
publicly available libraries?

And are there any “gotchas” that I should be aware of that are
schedule risks with this kind of project that might cause me to
miss my estimate?

Thanks much for your feedback!

Regards,

Bill

Bill-

It sounds like you need a simple system to process these

transactions. If you want to do it quickly I have a method that has
worked for me. I built the shop part of this web site in about 12
hours of rails time: http://vintnerssecret.com. They way it works is
I use Verisign Payflow Link. Which is a hosted service that works
like this:

You collect some information on your site but no sensitive info that
needs ssl. I collect the name, email and shipping address as well as
the product name, quantity, price with shipping and tax where
applicable and an order number.

I save this information in an admin only db in my rails app organized
by order id

Then post this info to your hosted site at verisign where they take
care of the ssl stuff and you don’t have to pay for a certificate.
You can customize this page to fit with your site design to some extent.

While on the hosted site the customer enters their credit card info
and gets a denied or approved message.

Then they are sent back to your site and the details about approval
can be posted back to your site as well.

You and your customer receive a customized email from verisign as to
the disposition of the order.

I have made a simple admin area where the client can post new
products and well as look at pending order information. When you
receive the confirmation or denial of the cc transaction form
verisign you match it up by order id with the to be shipped section
in the admin area and check off the items that you will be shipping
so they can be saved into a past transactions db table and the denied
orders can be saved to an old denied orders table for retrieval later.

This is an easy way to get an online ordering system up quickly

without the need to worry about all the security details on your own
site. The cost is somewhere around $250 a year for up to 800
transactions a month with a small fee for each transaction over this
limit. It has worked great for me so far and I have used it in a few
sites where the client is plenty happy with the results. If you need
higher transaction limits you can alwayts upgrade to payflow pro
which is a more typical ecommerce solution where you hot your own
secure forms.

This is IMHO the quickest way to get a simple online payment

processor online quickly and securely. Contact me off list of you
want any more details about this setup and I am happy to answer your
questions.

Cheers-

-Ezra Z.
Yakima Herald-Republic
WebMaster
http://yakimaherald.com
509-577-7732
[email protected]

On 12/8/05, Matthew P. [email protected] wrote:

On Thu, Dec 08, 2005 at 10:41:59AM -0800, Jason wrote:

But I’ve recently gone back and purchased the PDF version of the book from
the authors, I find that easier to refer to while I’m tinkering with Rails

Can you give some indication of what “personal information” they put into
the PDF “for your protection”? I was going to get the PDFs of AWDWR and the
Pickaxe, but when I saw that in their FAQ, I ran away screaming.

At the bottom of each page, it would say…
“Prepared exclusively for Matthew P.”

They’re generous enough to give the pdf’s out completely unlocked, I
think that’s added to give you another reason not to distribute it (if
you needed another reason). Think of it as ‘guiltware’ :wink:

  • Matt


Bill G. (aka aGorilla)

Jason E. wrote:

priviledges are revoked on the third offense, which means you can’t
process credit cards.

On the flip side, I’ve found the Visa people extremely helpful
in helping a company through the process - both when we first
set up the payment system, and when we were having problems
with excessive chargebacks from international orders.

But yes, for small sites (say, under $10K per day) I agree
that going with a third party like a Digital River is easier.
But once your volume is high enough it’s not that painful
to work directly with banks and credit card processing
companies directly; and if nothing else, makes your
negotiations for price with 3rd party payment companies easier.

Ron M wrote:

On the flip side, I’ve found the Visa people extremely helpful
in helping a company through the process - both when we first
set up the payment system, and when we were having problems
with excessive chargebacks from international orders.

But yes, for small sites (say, under $10K per day) I agree
that going with a third party like a Digital River is easier.
IBut once your volume is high enough it’s not that painful
to work directly with banks and credit card processing
companies directly; and if nothing else, makes your
negotiations for price with 3rd party payment companies easier.

I don’t know anything about this from the business side, but as a
consumer, I have had a couple of rotten experiences with Digital River,
and I won’t be buying your product if your only payment method is
through Digital River.

I don’t know whether it is on the merchant side, or Digital River’s
side, but I have often bought a product through DR, been informed that
my unlocking code is in the mail and then suffered for days and weeks
before I received the code, or worse, received the code, and then had it
take weeks before the code is recognized on the merchant site.

Also, DR seem to handle e-mail marketing for a number of merchants and
they seem to have a problem fulfilling unsubscribe requests.

Most of the Windows anti-virus companies depend on Digital River. Just
another reason I am glad I have been able to move off of Windows.

Ray

I have AWDwR PDF and all I see is my name.

Ron M wrote:

On the flip side, I’ve found the Visa people extremely helpful
in helping a company through the process - both when we first
set up the payment system, and when we were having problems
with excessive chargebacks from international orders.

But yes, for small sites (say, under $10K per day) I agree
that going with a third party like a Digital River is easier.
IBut once your volume is high enough it’s not that painful
to work directly with banks and credit card processing
companies directly; and if nothing else, makes your
negotiations for price with 3rd party payment companies easier.

I don’t know anything about this from the business side, but as a
consumer, I have had a couple of rotten experiences with Digital River,
and I won’t be buying your product if your only payment method is
through Digital River.

I don’t know whether it is on the merchant side, or Digital River’s
side, but I have often bought a product through DR, been informed that
my unlocking code is in the mail and then suffered for days and weeks
before I received the code, or worse, received the code, and then had it
take weeks before the code is recognized on the merchant site.

Also, DR seem to handle e-mail marketing for a number of merchants and
they seem to have a problem fulfilling unsubscribe requests.

Most of the Windows anti-virus companies depend on Digital River. Just
another reason I am glad I have been able to move off of Windows.

Ray