Implementing an Online Book Store

I will be implementing a medium sized online book store over the next few months. I would like to do most(if not all) of the backend in ruby. I don't have any real experience building large database driven online stores so I was hoping for some suggestions as to which frameworks/libraries might prove useful. I am currently planning on using mysql to store everything and paypal for payments.

Thank you,
Matthew Margolis

Matthew Margolis wrote:

using mysql to store everything and paypal for payments.

Just as a warning. If you target people that is not american, paypal is not a good idea since it won't work alright. If you only target merkins, it works fine I suppose.

Using an object/relational mapping layer can make things SO MUCH easier to
develop. There are several available. Mine is Kansas:
http://rubyforge.org/projects/kansas

David HH has ActiveRecord, which a lot of people like: Uh, I believe you
can find it at the Ruby On Rails site: http://www.rubyonrails.org
somewhere. Rails is a complete framework that includes the web pieces and
the ORM pieces. Check it all out there.

I also have a good framework, IOWA, at http://enigo.com/projects/iowa, that
I have used in many production apps and sites in the last couple of years.

There are others. Lafcadio (at RubyForge.com is available at DomainMarket.com. Call 888-694-6735) is
an ORM originally written specifically to work with MySQL. It's a stable
package.

There are lots of other web app frameworks, too. Cerise is one of the
oldest. It's at Rubyforge, too. My suggestion is to do a tour of several
of the options and see which one seems to appeal to you. One might just fit
the way you think or the way you want to work better than others.

If you try either of mine (Kansas or Iowa), give me a shout if you have any
questions.

Thanks,

Kirk Haines

···

On Sat, 28 Aug 2004 07:20:21 +0900, Matthew Margolis wrote

I will be implementing a medium sized online book store over the
next few months. I would like to do most(if not all) of the backend
in ruby. I don't have any real experience building large database
driven online stores so I was hoping for some suggestions as to
which frameworks/libraries might prove useful. I am currently
planning on using mysql to store everything and paypal for payments.

I will be implementing a medium sized online book store over the next few months. I would like to do most(if not all) of the backend in ruby. I don't have any real experience building large database driven online stores so I was hoping for some suggestions as to which frameworks/libraries might prove useful. I am currently planning on using mysql to store everything and paypal for payments.

I know that there's at least a couple of people working on shops with Rails. So if you do have a look at Rails be sure to hang out in #rubyonrails to get up to speed quickly and share tips with other railers.

I'm also just on the verge of implementing a nice PayPal IPN wrapper for Rails as I'm using PayPal myself for a new project. I've been thinking about releasing the Authorize.net wrapper that we used for Basecamp as well.

Anyway, lots of choices for doing what you're looking for in Ruby. Beside the options that Kirk mentioned, there's also Borges, which uses that cool continuations stuff. I don't know if it's yet in a state that you want to base a production app on, but their highlight example is exactly a checkout processs for a shop.

···

--
David Heinemeier Hansson,
http://www.rubyonrails.org/ -- Web-application framework for Ruby
http://www.instiki.org/ -- A No-Step-Three Wiki in Ruby
http://www.basecamphq.com/ -- Web-based Project Management
http://www.loudthinking.com/ -- Broadcasting Brain
http://www.nextangle.com/ -- Development & Consulting Services

Linus Sellberg wrote:

Matthew Margolis wrote:

using mysql to store everything and paypal for payments.

Just as a warning. If you target people that is not american, paypal is not a good idea since it won't work alright. If you only target merkins, it works fine I suppose.

Not entirely true, I think. I have certainly exchanged money with
Europeans via Paypal before. It probably depends on the country and
maybe some other factors.

Hal

David Heinemeier Hansson wrote:

I will be implementing a medium sized online book store over the next few months. I would like to do most(if not all) of the backend in ruby. I don't have any real experience building large database driven online stores so I was hoping for some suggestions as to which frameworks/libraries might prove useful. I am currently planning on using mysql to store everything and paypal for payments.

I know that there's at least a couple of people working on shops with Rails. So if you do have a look at Rails be sure to hang out in #rubyonrails to get up to speed quickly and share tips with other railers.

I'm also just on the verge of implementing a nice PayPal IPN wrapper for Rails as I'm using PayPal myself for a new project. I've been thinking about releasing the Authorize.net wrapper that we used for Basecamp as well.

Anyway, lots of choices for doing what you're looking for in Ruby. Beside the options that Kirk mentioned, there's also Borges, which uses that cool continuations stuff. I don't know if it's yet in a state that you want to base a production app on, but their highlight example is exactly a checkout processs for a shop.
--
David Heinemeier Hansson,
http://www.rubyonrails.org/ -- Web-application framework for Ruby
http://www.instiki.org/ -- A No-Step-Three Wiki in Ruby
http://www.basecamphq.com/ -- Web-based Project Management
http://www.loudthinking.com/ -- Broadcasting Brain
http://www.nextangle.com/ -- Development & Consulting Services

Excellent news, I have been looking all over for a Ruby IPN wrapper.
I took another look at Rails today and it seems very interesting. At this point I am also considering Iowa/Kansas as that combo seems quite powerful as well. I love having so many choices but I hate having to make a decision to use just one of these wonderful tools. I will drop by #rubyonrails soon to see if I can get a better idea of how to go about using rails effectively on this project.

Thank you,
Matthew Margolis

Kirk Haines wrote:

Using an object/relational mapping layer can make things SO MUCH easier to develop. There are several available. Mine is Kansas: http://rubyforge.org/projects/kansas

David HH has ActiveRecord, which a lot of people like: Uh, I believe you can find it at the Ruby On Rails site: http://www.rubyonrails.org somewhere. Rails is a complete framework that includes the web pieces and the ORM pieces. Check it all out there.

I also have a good framework, IOWA, at http://enigo.com/projects/iowa, that I have used in many production apps and sites in the last couple of years.

There are others. Lafcadio (at RubyForge.com is available at DomainMarket.com. Call 888-694-6735) is an ORM originally written specifically to work with MySQL. It's a stable package.

There are lots of other web app frameworks, too. Cerise is one of the oldest. It's at Rubyforge, too. My suggestion is to do a tour of several of the options and see which one seems to appeal to you. One might just fit the way you think or the way you want to work better than others.

If you try either of mine (Kansas or Iowa), give me a shout if you have any questions.

Kirk,
I just wanted to complement you for taking the very honorable route of suggesting both your frameworks and various competing frameworks. It makes the community much more friendly and acknowledges that each of the frameworks have their own merits. Too often people decry the other options in software projects, and turn them all into religious wars. I guess it's because to a certain extent each of the projects that people use represent how they think about problems and thus I can see why they get so protective of there mindshare. But it's very refreshing to see someone acknowledge each side, particularly when one of the projects is there own. Keep it up, and hopefully more will follow in your path :slight_smile:

Charles Comstock

Thanks. I think that the point that you bring up, that the projects that
people use represent how they think about problems, is why I try to bring up
some of the alternatives whenever someone posts something where I could just
say, "Use Iowa!"

Iowa and Rails and CGIkit and Kwartz and Narf-lib and SWS are all different
approachs to the same basic challenge. Some share more overlap in intention
or implementation than others. Some have better docs than others or more
active support, but each of the approaches is valid and fits someone's way
of thinking well. So it's nice to keep the names circulating as that keeps
people looking at different things and thinking about these issues, and we
can all benefit from some cross polination and maybe, like was mentioned in
the Webshare thread, even some actual working together (gasp!). I have no
shame in admiting that I have gotten inspiration for some things that are in
Iowa from DHH's work on Rails as well as from other packages out there, and
although I'd certainly be happy to gain attention and hopefully business by
having no competition out there, competition helps fuel support and
innovation, and that is a good thing in the end.

One of my projects that I just haven't been able to put aside enough time
for, yet, is to put together some reference pages a bit like the templating
frameworks wiki page at rubygarden, but focusing on my impression of the
packages that are in current active use or development, and giving some very
brief examples followed by links to more information. I want to do this
because I think that if there are some more people who play with Iowa, I can
get some more users, but also because even if *I* don't get a new user,
someone who is looking for "the" framework to use that will let them do
their next project in Ruby instead of in PHP or Perl might find another Ruby
framework that fits their idea of perfect. And if I can schedule a little
time once the pages are created to maintain them once in a while, they could
be a fantastic one stop shopping center for people looking for the current
state of the world when it comes to Ruby and web development or Ruby and ORM
packages.

Ah, my kingdom for an unpaid intern! :slight_smile:

Kirk Haines

···

On Sun, 29 Aug 2004 05:55:30 +0900, Charles Comstock wrote

I just wanted to complement you for taking the very honorable route
of suggesting both your frameworks and various competing frameworks.
It makes the community much more friendly and acknowledges that
each of the frameworks have their own merits. Too often people
decry the other options in software projects, and turn them all into
religious wars. I guess it's because to a certain extent each of
the projects that people use represent how they think about problems
and thus I can see why they get so protective of there mindshare.
But it's very refreshing to see someone acknowledge each side,
particularly when one of the projects is there own. Keep it up, and
hopefully more will follow in your path :slight_smile:

Kirk Haines wrote:

Ah, my kingdom for an unpaid intern! :slight_smile:

I second that request... :wink: