Implementing an Online Book Store

M

Matthew Margolis

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
 
L

Linus Sellberg

Matthew said:
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.
 
K

Kirk Haines

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.

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 http://rubyforge.com/projects/lafcadio) 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
 
H

Hal Fulton

Linus said:
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
 
D

David Heinemeier Hansson

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
 
M

Matthew Margolis

David said:
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
 
C

Charles Comstock

Kirk said:
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 http://rubyforge.com/projects/lafcadio) 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 :)

Charles Comstock
 
K

Kirk Haines

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 :)

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! :)


Kirk Haines
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,904
Latest member
HealthyVisionsCBDPrice

Latest Threads

Top