{"id":13395112,"url":"https://github.com/drhenner/ror_ecommerce","last_synced_at":"2025-05-15T20:02:49.590Z","repository":{"id":1119967,"uuid":"991709","full_name":"drhenner/ror_ecommerce","owner":"drhenner","description":"Ruby on Rails Ecommerce platform, perfect for your small business solution.","archived":false,"fork":false,"pushed_at":"2023-06-13T14:53:16.000Z","size":9045,"stargazers_count":1214,"open_issues_count":23,"forks_count":407,"subscribers_count":71,"default_branch":"master","last_synced_at":"2025-04-08T01:37:53.119Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"www.ror-e.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/drhenner.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2010-10-16T01:39:59.000Z","updated_at":"2025-04-01T05:19:53.000Z","dependencies_parsed_at":"2022-08-16T12:05:19.781Z","dependency_job_id":"3575ea20-ef11-4f53-ad93-9aff5af7c286","html_url":"https://github.com/drhenner/ror_ecommerce","commit_stats":{"total_commits":1674,"total_committers":33,"mean_commits":50.72727272727273,"dds":"0.27897252090800473","last_synced_commit":"23d8d43b2451d4317e6228ba2ba89656f795f9b1"},"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drhenner%2Fror_ecommerce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drhenner%2Fror_ecommerce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drhenner%2Fror_ecommerce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drhenner%2Fror_ecommerce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/drhenner","download_url":"https://codeload.github.com/drhenner/ror_ecommerce/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254414477,"owners_count":22067270,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T17:01:42.410Z","updated_at":"2025-05-15T20:02:48.500Z","avatar_url":"https://github.com/drhenner.png","language":"Ruby","readme":"# ROR Ecommerce\n\n## Project Overview\n\nPlease create a ticket on github if you have issues.\nThey will be addressed ASAP.\n\nPlease look at the [homepage](http://www.ror-e.com) for more details.  Or take a look at the [github page](http://drhenner.github.com/ror_ecommerce/index.html)\n\n![RoR Ecommerce](http://ror-e.com/images/logo.png \"ROR Ecommerce\").\n[![Code Climate](https://codeclimate.com/github/drhenner/ror_ecommerce.png)](https://codeclimate.com/github/drhenner/ror_ecommerce)\n\nThis is a Rails e-commerce platform.\nROR Ecommerce is a *Rails 5.1 application* with the intent to allow developers to create an ecommerce solution easily.\nThis solution includes an Admin for *Purchase Orders*, *Product creation*, *Shipments*, *Fulfillment* and *creating Orders*.\nThere is a minimal customer facing shopping cart understanding that this will be customized.\nThe cart allows you to track your customers' *cart history* and includes a *double entry accounting system*.\n\nThe project has *Solr searching*, *Compass* and *Zurb Foundation for CSS* and uses *jQuery*.\nCurrently the most complete Rails solution for your small business.\n\nPlease use *Ruby 2.4* and enjoy *Rails 5.1*.\n\nROR Ecommerce is designed so that if you understand Rails you will understand ROR_ecommerce.\nThere is nothing in this project besides what you might see in a normal Rails application.\nIf you don't like something, you are free to just change it like you would in any other Rails app.\n\n**Contributors are welcome!**\nWe will always need help with UI, documentation, and code, so feel free to pitch in.\nTo get started, simply fork this repo, make *any* changes (big or small), and create a pull request.\n\n## DEMO\n\nTake a look at [The Demo](https://ror-e.herokuapp.com).\nThe login name is test@ror-e.com with a password =\u003e test123\n\nNOTE: Given that everyone has admin rights to the demo it is frequently looking less than \"beautiful\".\n\n## Getting Started\n\nPlease feel free to ask/answer questions in our [Google Group](http://groups.google.com/group/ror_ecommerce).\n\nInstall RVM with Ruby 2.4.\nIf you have 2.4 on your system you're good to go.\nPlease refer to the [RVM](http://beginrescueend.com/rvm/basics/) site for more details.\n\nCopy the `database.yml` for your setup.\nFor SQLite3, `cp config/database.yml.sqlite3 config/database.yml`.\nFor MySQL, `cp config/database.yml.mysql config/database.yml` and update your username/password.\n\nIf you are using the mysql dmg file to install mysql you will need to edit your ~/.bash_profile and include this:\n\n  export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH\n\nInstall gems and build the app\n\n    gem install bundler\n    bundle install\n    rake secret # copy/paste the output as `encryption_key` in `config/settings.yml`\n    rake db:create:all\n    rake db:migrate db:seed\n    RAILS_ENV=test rake db:test:prepare\n    RAILS_ENV=test rake db:seed\n\nOnce everything is set up, start the server with `rails server` and direct your web browser to [localhost:3000/admin/overviews](http://localhost:3000/admin/overviews).\nWrite down the username/password (these are only shown once) and follow the directions.\n\n## Environmental Variables\n\nMost users are using Amazon S3 or Heroku.\nThus we have decided to have a setup easy to get your site up and running as quickly as possible\nin this production environment.  Hence you should add the following ENV variables:\n\n    FOG_DIRECTORY     =\u003e your bucket on AWS\n    AWS_ACCESS_KEY_ID =\u003e your access key on AWS\n    AWS_SECRET_ACCESS_KEY =\u003e your secret key on AWS\n    AUTHNET_LOGIN     =\u003e if you use authorize.net otherwise change config/settings.yml \u0026\u0026 config/environments/*.rb\n    AUTHNET_PASSWORD  =\u003e if you use authorize.net otherwise change config/settings.yml \u0026\u0026 config/environments/*.rb\n\nOn linux:\n\n    export FOG_DIRECTORY=xxxxxxxxxxxxxxx\n    export AWS_ACCESS_KEY_ID=xxxxxxxxxxxxxxx\n    export AWS_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n    export AUTHNET_LOGIN=xxxxxxxxxxx\n    export AUTHNET_PASSWORD=xxxxxxxxxxxxxxx\n\nOn Heroku:\n\n    heroku config:add FOG_DIRECTORY=xxxxxxxxxxxxxxx\n    heroku config:add AWS_ACCESS_KEY_ID=xxxxxxxxxxxxxxx\n    heroku config:add AWS_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n    heroku config:add AUTHNET_LOGIN=xxxxxxxxxxx\n    heroku config:add AUTHNET_PASSWORD=xxxxxxxxxxxxxxx\n\n    heroku labs:enable user-env-compile -a myapp\n\nThis is needed for using sendgrid on heroku(config/initializers/mail.rb):\n\n    heroku config:add SENDGRID_USERNAME=xxxxxxxxxxx\n    heroku config:add SENDGRID_PASSWORD=xxxxxxxxxxxxxxx\n\n\n## Quick Evaluation\n\nIf you just want to see what ror_ecommerce looks like, before you enter any products into the database, run the following command:\n\n    rake db:seed_fake\n\nIf you have not already done so point your browser to http://lvh.me:3000/admin/overviews and set up the admin user.\n\nYou should now have a minimal dataset, and be able to see a demo of the various parts of the app.\nNote: make sure you have `config/settings.yml` set up correctly before you try to checkout.\nAlso, please take a look at [The 15 minute e-commerce video](http://www.ror-e.com/info/videos/7).\n\n## ImageMagick and rMagick on OS X 10.8\n------------------------------------\n\nIf installing rMagick on OS X 10.8 and using Homebrew to install ImageMagick, you will need to symlink across some files or rMagick will not be able to build.\n\nDo the following in the case of a Homebrew installed ImageMagick(and homebrew had issues):\n\n    * cd /usr/local/Cellar/imagemagick/6.8.9-8/lib\n    * ln -s libMagick++-6.Q16.5.dylib   libMagick++.dylib\n    * ln -s libMagickCore-6.Q16.2.dylib libMagickCore.dylib\n    * ln -s libMagickWand-6.Q16.2.dylib libMagickWand.dylib\n\n    * you may need to change the version path if the imagemagick has been updated\n\n## YARDOCS\n\nIf you would like to read the docs, you can generate them with the following command:\n\n    yardoc --no-private --protected app/models/*.rb\n\n#### Payment Gateways\n\nFirst, create `config/settings.yml` and change the encryption key and paypal/auth.net information.\nYou can also change `config/settings.yml.example` to `config/settings.yml` until you get your real info.\n\nTo change from authlogic to any other gateway look at the documentation [HERE](http://drhenner.github.com/ror_ecommerce/config.html)\n\n## Paperclip\n\nPaperclip will throw errors if not configured correctly.\nYou will need to find out where Imagemagick is installed.\nType: `which identify` in the terminal and set\n\n```ruby\nPaperclip.options[:command_path]\n```\n\nequal to that path in `config/initializers/paperclip.rb`.\n\nExample:\n\nChange:\n\n```ruby\nPaperclip.options[:command_path] = \"/usr/local/bin\"\n```\n\nInto:\n\n```ruby\nPaperclip.options[:command_path] = \"/usr/bin\"\n```\n\n## Adding Dalli For Cache and the Session Store\n\nWhile optional, for a speedy site, using memcached is a good idea.\n\nInstall memcached.\nIf you're on a Mac, the easiest way to install Memcached is to use [homebrew](http://mxcl.github.com/homebrew/):\n\n    brew install memcached\n\n    memcached -vv\n\n#### To Turn On the Dalli Cookie Store\n\nRemove the cookie store on line one of `config/initializers/session_store.rb`.\nIn your Gemfile add:\n\n```ruby\ngem 'dalli'\n```\n\nthen:\n\n    bundle install\n\nFinally uncomment the next two lines in `config/initializers/session_store.rb`\n\n```ruby\nrequire 'action_dispatch/middleware/session/dalli_store'\nHadean::Application.config.session_store :dalli_store, :key =\u003e '_hadean_session_ugrdr6765745ce4vy'\n```\n\n#### To Turn On the Dalli Cache Store\n\nIt is also recommended to change the cache store in config/environments/*.rb\n\n```ruby\nconfig.cache_store = :dalli_store\n```\n\n## Adding Solr Search\n\n    brew install solr\n\nUncomment the following in your gemfile:\n\n```ruby\n#gem 'sunspot_solr'\n#gem 'sunspot_rails'\n```\n\nthen:\n\n    bundle install\n\nStart Solr before starting your server:\n\n    rake sunspot:solr:start\n\nGo to `product.rb` and uncomment:\n\n```ruby\n#include ProductSolr\n```\n\nAlso remove the method:\n```ruby\ndef self.standard_search\n```\n\nTake a look at setting up Solr - [Solr in 5 minutes](http://github.com/outoftime/sunspot/wiki/adding-sunspot-search-to-rails-in-5-minutes-or-less)\n\nIf you get the error, `Errno::ECONNREFUSED (Connection refused - connect(2)):` when you try to create a product or upload an image, you have not started Solr search.\nYou need to run `rake sunspot:solr:start`, or remove Solr completely.\n\nRemember to run `rake sunspot:reindex` before doing your search if you already have data in the DB\n\n## TODO:\n\n* more documentation\n\n\n## SETUP assets on S3 with CORS\n\nPutting assets on S3 can cause issues with FireFox/IE.  You can read about the issue if you search for \"S3 \u0026 CORS\".  Basically FF \u0026 IE are keeping things more secure but in the process you are required to do some setup.\n\nI ran into the same thing with assets not being public for IE and FireFox but Chrome seemed to work fine. There is a work around for this though. There is something called a CORS Config that opens up your assets to whatever domains you specify.\n\nHere's how to open up your assets to your website.  (Thanks @DTwigs)\n\n* Click on your bucket.\n* Click on the properties button to open the properties tab.\n* Expand the \"Permissions\" accordion and click \" Add CORS Configuration\"\n\nNow paste this code in there:\n\n    \u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n    \u003cCORSConfiguration xmlns=\"http://s3.amazonaws.com/doc/2006-03-01/\"\u003e\n    \u003cCORSRule\u003e\n    \u003cAllowedOrigin\u003e*\u003c/AllowedOrigin\u003e\n    \u003cAllowedMethod\u003eGET\u003c/AllowedMethod\u003e\n    \u003cMaxAgeSeconds\u003e3000\u003c/MaxAgeSeconds\u003e\n    \u003cAllowedHeader\u003eContent-*\u003c/AllowedHeader\u003e\n    \u003cAllowedHeader\u003eHost\u003c/AllowedHeader\u003e\n    \u003c/CORSRule\u003e\n    \u003c/CORSConfiguration\u003e\n\n## Image Groups\n\nTypically a product has many variants.  (Variant ~= specific size of a given shoe)\n\nIf you have many variants with the same image don't bother with an image group, just use the \"products.images\".\n\nUse ImageGroups for something like shoes. Lets say you have 3 colors, and each color has 10 sizes. You would create 3 images groups (one for each color). The image for each size would be the same and hence each variant would be associated to the same image_group for a given color.\n\n## Author\n\nRoR Ecommerce was created by David Henner. [Contributors](https://github.com/drhenner/ror_ecommerce/blob/master/Contributors.md).\n\n## FYI:\n\nShipping categories are categories based off price:\n\nyou might have two shipping categories (light items) \u0026 (heavy items) where heavy items are charged per item purchased and light items are charged once for all items purchased.  (hence buying 30 feathers has the same shipping charges as one feather)\n\nHave fun!!!\n","funding_links":[],"categories":["E-Commerce and Payments","Ruby","Happy Exploring 🤘"],"sub_categories":["Online Shops"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrhenner%2Fror_ecommerce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdrhenner%2Fror_ecommerce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrhenner%2Fror_ecommerce/lists"}