github
Advanced Search
  • Home
  • Pricing and Signup
  • Explore GitHub
  • Blog
  • Login

myabc / merb_mart

  • Admin
  • Watch Unwatch
  • Fork
  • Your Fork
  • Pull Request
  • Download Source
    • 33
    • 2
  • Source
  • Commits
  • Network (2)
  • Issues (0)
  • Downloads (0)
  • Wiki (1)
  • Graphs
  • Branch: master

click here to add a description

click here to add a homepage

  • Branches (2)
    • master ✓
    • supermart
  • Tags (0)
Sending Request…
Click here to lend your support to: merb_mart and make a donation at www.pledgie.com ! Edit Pledgie Setup

Pledgie Donations

Once activated, we'll place the following badge in your repository's detail box:
Pledgie_example
This service is courtesy of Pledgie.

DEVELOPMENT DISCONTINUED: Consider using Spree (repo: http://github.com/railsdog/spree) instead. — Read more

  cancel

  cancel
  • Private
  • Read-Only
  • HTTP Read-Only

This URL has Read+Write access

Create note on discontinued development 
myabc (author)
Mon Aug 17 13:33:34 -0700 2009
commit  2d0ccf708aad6e02dc077aeac5e53553d852fb0a
tree    204c84eb03c4e37417424b1f249d1c76aa608523
parent  4879d3ec5d8d2211ea43e329bcb48a72dbb86a01
merb_mart /
name age
history
message
file .gitignore Loading commit data...
file CHANGELOG
file GPL-LICENSE Sun Apr 27 12:43:52 -0700 2008 Changed license to GPL License. Updated README ... [myabc]
file INSTALL
file README Sun Nov 02 13:51:40 -0800 2008 Consolidation of work on slicefiying applicatio... [myabc]
file README.markdown Mon Aug 17 13:33:34 -0700 2009 Create note on discontinued development Signed... [myabc]
file README.old.markdown
file Rakefile
file TODO Sun Nov 02 13:51:40 -0800 2008 Consolidation of work on slicefiying applicatio... [myabc]
directory app/ Sun Nov 02 13:58:46 -0800 2008 Fix a few missed renames [myabc]
directory config/ Sun Nov 02 13:51:40 -0800 2008 Consolidation of work on slicefiying applicatio... [myabc]
directory examples/
directory lib/ Sun Nov 02 13:51:40 -0800 2008 Consolidation of work on slicefiying applicatio... [myabc]
directory public/ Sat May 31 06:08:19 -0700 2008 Merge commit 'ben/master' Conflicts: .gitign... [myabc]
directory spec/ Sun Nov 02 13:51:40 -0800 2008 Consolidation of work on slicefiying applicatio... [myabc]
directory stubs/
directory www/ Sun Mar 23 15:07:00 -0700 2008 Added website (www) documentation skeleton. [myabc]
README.old.markdown

MerbMart README

MerbMart is an open-source e-commerce engine, developed on top of the recent Ruby-language, Merb MVC framework. It takes advantage of the Merb's slices plugin, allowing you to incorporate the engine into a customized e-commerce solution.

Performance

Mom and Pop?.. or Big Box?

A key goal for the MerbMart engine is performance. Although MerbMart is designed for e-commerce sites of all sizes, the speed and scalability of the Merb and DataMapper frameworks make it scalable even for large online vendors.

The following technologies and frameworks provide a foundation for MerbMart:

  • Merb, for Model-View-Controller.
  • DataMapper, for object relation mapping (ORM) and persistence.
  • ActiveMerchant, for Credit Card, payment and shipping processing. as well as attachmerb_fu, merb_paginate.
  • RSpec, for behavio(u)r driven development (BDD).

See INSTALL or the project wiki for a full list of dependencies.

MerbMart is inspired by other, Rails based e-commerce applications, including Substruct and Spree. Although MerbMart started out as a project to port Substruct to Merb, the initial 0.1 release of MerbMart will instead be a its own implementation of an e-commerce engine, trying to match the feature sets other e-commerce applications, but taking advantages of the unique features of Merb and DataMapper.

About Slices

Merb-Slices is a Merb plugin for using and creating application 'slices' which help you modularize your application. Usually these are reuseable extractions from your main app. In effect, a Slice is just like a regular Merb MVC application, both in functionality as well as in structure.

When you generate a Slice stub structure, a module is setup to serve as a namespace for your controller, models, helpers etc. This ensures maximum encapsulation. You could say a Slice is a mixture between a Merb plugin (a Gem) and a Merb application, reaping the benefits of both.

A host application can 'mount' a Slice inside the router, which means you have full over control how it integrates. By default a Slice's routes are prefixed by its name (a router :namespace), but you can easily provide your own prefix or leave it out, mounting it at the root of your url-schema. You can even mount a Slice multiple times and give extra parameters to customize an instance's behaviour.

A Slice's Application controller uses controller_for_slice to setup slice specific behaviour, which mainly affects cascaded view handling. Additionaly, this method is available to any kind of controller, so it can be used for Merb Mailer too for example.

There are many ways which let you customize a Slice's functionality and appearance without ever touching the Gem-level code itself. It's not only easy to add template/layout overrides, you can also add/modify controllers, models and other runtime code from within the host application.

Installation and Setup

Please see the INSTALL file for details on getting up and running with MerbMart.

Developer Notes

WARNING : MerbMart is at a very early development stages. At this stage, the application should be considered only for consumption by advanced Ruby and Merb developers. If you're looking for something for production consumption, or not yet ready to jump from Ruby on Rails, then we would strongly advise trying Substruct or Spree.

REQUEST : Your development support is very much appreciated. Please contact us below if you're interested in lending a hand with the development of this project. Or alternatively, clone the code, fork it, create some patches and let us know when you're done.

Getting the Source

Performing a git clone on either of the following repositories will get you the latest source:

git clone git://github.com/myabc/merb_mart.git
git clone git://gitorious.org/merb_mart/mainline.git (on gitorious)

The following additional mirrors are available:

git://repo.or.cz/merb_mart.git
http://repo.or.cz/r/merb_mart.git

Copyright and License

MerbMart is licensed under the GNU Public License (GPL):

> Copyright (C) 2008 Alex Coles

> This program is free software: you can redistribute it and/or modify > it under the terms of the GNU General Public License as published by > the Free Software Foundation, either version 2 of the License, or > (at your option) any later version.

> This program is distributed in the hope that it will be useful, > but WITHOUT ANY WARRANTY; without even the implied warranty of > MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > GNU General Public License for more details.

> You should have received a copy of the GNU General Public License > along with this program. If not, see http://www.gnu.org/licenses/.

A copy of the GPL License may be found in the GPL-LICENSE, included with the distribution.

Support

WARNING REPEATED : MerbMart is still at a very early stage of its development. You should not use this code unless you're reasonably secure with the Ruby language, and the DataMapper and Merb frameworks. That said, please do get involved - and if you're happy to contribute back with bug reports and patches, then we'll be happy to help you get the application up and running.

Your best source for support currently is either the wiki, IRC or the mailing list:

  • MerbMart Wiki (this is its temporary residence): http://github.com/myabc/merb_mart/wikis
  • MerbMart mailing list: http://groups.google.com/group/merb_mart
  • MerbMart homepage: coming soon
  • Contact the developers directly:
    • alex@alexcolesportfolio.com | myabc on #datamapper, #merb IRC
Blog | Support | Training | Contact | API | Status | Twitter | Help | Security
© 2010 GitHub Inc. All rights reserved. | Terms of Service | Privacy Policy
Powered by the Dedicated Servers and
Cloud Computing of Rackspace Hosting®
Dedicated Server