Spree - Disable checkout's country selection and modify the checkout - ruby-on-rails

I need to create an online shop to sell some e-learning services, mostly online courses.
I'm thinking to start with Spree, so I've installed it and I started playing with the configuration, I'm also starting with Ruby and RoR, and I plan to carry out all my next works on this platform that I really like.
I'm just curious to know if it's a good idea to start with a complete solution like Spree to sell this kind of products. I'd need to change some checkout steps, for example there is no need to deliver the things, since they are services (online courses).
Then I'd like to disable the country selection because the ecommerce will just sell in our country and it's useless to allow this selection.
How can I do it?
Then I'd like to allow users to choose between a one-time payment and a recurring billing solution.
Can you help me to understand what I need to do this?
At a first glance it seems a lot of work (beside the fact that I'm new with the framework and with the language -coming from python, php, c++).
I'm using the latest version of spree from their git repo with rails 3.2.3 (ruby 1.9.3 under RVM).

Yes you can modify the checkout steps have a look at http://guides.spreecommerce.com/checkout.html#checkout-customization on how to do this.
On the payments side good luck! I have been struggling with this for a while now and there doesn't seem to be much out there. I will update this if I am able to find anything solid.
If you are new to ruby on rails I would suggest that you take some time to familiarise your self with ruby on rails first before diving into spree as this will save you alot of time in the long run.
if you are running the latest verison of spree(edge) rather then the latest released version please be careful.
Thanks
Ash

Related

Customizing Shopify Themes

E-commerce intermediate, Shopify and Ruby on Rails newbie.
How does one go about customizing Shopify files? I have a purchased a theme but want to make some changes to the .liquid files.
Do I have to I unzip, edit, re-zip and upload in the Shopify admin section? is this supported? What are best practices for customizing themes?
You can get started with the instructions here, which can be done straight from the admin interface.
Once you've gained some experience there (try some of the shopify/liquid tutorials), you can take a more comprehensive/custom approach. And btw, you don't need to know Rails, just the Ruby language. In fact, you can even hack away at the liquid codebase if you want.
Good luck!
In addition to #davidchappy s answer:
Would also recommend checking out ThemeKit and Slate so that you don't have to develop from the admin.
Would highly suggest that you sign up for a Shopify Partner account. That would allow you to create development stores. Meaning that you wouldn't have to pay an active monthly subscription before you are ready to actually receive money.
Would also give you a great dev store to work on directly with ThemeKit so you can test everything before using ThemeKit to deploy to your production (live) webshop.
All you need to do is set up a private app that allows you to read/write to theme files.

Solidus vs Spree - which should be used?

I'm about to upgrade my small online shop based on old Spree version. I was planning to use newest branch 3.X, but after project being drop by SpreeCommerce company I was thinking to switch to Solidus (they seems to pay more focus more stability and reliability). But last month new core team took the project in their hands.
Are there any Solidus or Spree developers who could tell what would be better. Stick to Spree or move on to Solidus? Or maybe use different e-commerce RoR app like Shoppe or ror_ecommerce. I'm happy to see what are your thoughts?
Some articles
2016/01 Spree new Core Team
https://spreecommerce.com/blog/spree-roadmap-announcement
2015/10 Spree dropped support [officially]
https://spreecommerce.com/blog/future-of-spree-oss
2015/09 Solidus - new Spree fork
http://resolve.digital/blog/posts/spree-commerce-acquired-is-it-time-to-move-your-spree-store-to-solidus
Github activity
Update
Spark Solutions made interesting starter kit including Spree and React.
https://github.com/spark-solutions/spark-starter-kit.
The Blue Stout folk wrote a pretty comprehensive blog post a couple of weeks ago about this same conversation. The pros and cons could have been listed so that they were a little bit more parallel, but I think it's still helpful as they mention some things that aren't in the articles above.
http://bluestout.com/blog/spree-vs-solidus-ecommerce-platforms/
I interviewed core team members of both Spree Commerce and Solidus and have written up a comprehensive blog post about Spree vs Solidus. It covers the history of the projects and how we've ultimately ended up with Spree and Solidus.
Here's what I concluded:
Our customers who are on Spree will likely stay on Spree, but new stores we build will be on Solidus. This is because behind all the noise, we think Solidus is the future.
When it comes down to it, here’s what we recommend as of today:
New Stores: Use Solidus
Existing Spree 3.x Stores: Stay on Spree
Existing Spree 2.x Stores: Make a case by case decision about if you
want to move to Solidus on stay on Spree.
Existing Spree 1.x Stores: Upgrade to Spree 2.4
If I was building a small ecommerce app I'd be looking at Shopify first. Only if I couldn't customize a store to my needs would I look at something as big as Spree or Solidus. The financial and time cost of a dev team to put either together and then maintain it over the life is a lot more than you might expect and not really worth it unless you have no alternative.
That being said, if I had to choose between Spree and Solidus personally myself, I would choose Solidus. The caveat on that is that I work as a designer for Stembolt (one of the companies that forked it from Spree) and I've probably got the most intimate understanding of where we're going to take our admin interface in the near future. We have dedicated devs on the project that are quickly and continuously improving security, efficiency and general user experience and I'm genuinely excited about where we're going.
The other thing to keep in mind is that Solidus isn't a brand new project, it's been around as long as Spree because it's built from Spree. Also lot of the Spree extensions can be used with Solidus with minimal or no debugging.
My best advice to you would be to make a list of what you're looking for first, and then you'll be better able to decide what will meet your needs.
We have been developing for a while with Spree and also we have a store that uses it. Spree has help us on many projects. We develop on European projects and we know about the features needed in this part of the world.
About Spree or Solidus, it's not an easy question and we should wait how both communities advance. But I think that there are some initial points of views that could help to decide at this moment.
Solidus is supported by two important retail companies and as far as I know they are looking for easy migration between versions and stability. From my point of view they are working on adding features that are business related needs. As examples they have been working on improving VAT system on Solidus that could help on European projects and propose other features as adding in the future solidus_multi_domain to the core .
About Spree new core team we must let them work and they look also promising, their roadmap looks interesting and they will support rails 5, add store credits to the core, performance improvements and many other things.
Answering the initial question, I think that Solidus its a good option to use and we don't have to forget that they started their project before Spree Commerce had to finish supporting Spree. I like the stability, easy migration path, and new features that they are working on, I find them at this moment more interesting and deeper. We need more features and improve business related needs if we want to compete with other platforms also as every thing evolves the migration path must be as easily as possible.
But as I said at the beginning we have been using spree and also their roadmap is interesting, we will keep using it or evolving actual projects without much worries.
I think that the key question is... Can Spree and Solidus join their efforts somehow and work together?
Hope my thoughts help
Spree is a good technology that we can build shopping cart like applications. But right now they officially down the support. Solidus is working on a fork copy of spree. Solidus is a good choice for upgradation
Solidus working well with good support now. You can refer that.

Ruby/Rails security alerts

How do Ruby developers keep updated on ruby and rubygem security alerts and updates?. I found out about this today:
https://support.cloud.engineyard.com/entries/22915701-january-14-2013-security-vulnerabilities-httparty-extlib-crack-nori-update-these-gems-immediately
and wonder how developers usually keep up with these types of alerts. Thanks in advance.
For Rails, just register for email updates in the Rails security google group :
https://groups.google.com/forum/?fromgroups#!forum/rubyonrails-security
The Ruby Security Announcements list is specifically for security issues in Ruby and Rubygems.
Also check out the bundler-audit gem to automate this process. It will check your gems for known vulnerabilities and also recommend some improvements regarding the update process in general.
I actually wrote about this a few weeks back. These are the things that I would recommend:
Follow the Ruby and Rails security mailing lists.
Use CVE Reports to get details of security alerts as soon as you can. CVE stands for "Common Vulnerabilities and Exposures" and it's an industry standard reporting mechanism.
Keep your dependencies as up to date as you can. Run bundle outdated to get this information. Keeping your test suite at > 85% is going to make dependency upgrading much easier.
Create a process for your team so you can stay up to date on squashing security issues. I elaborate in the blog post on how to do that.
Use tooling like bundle-audit, AppCanary, Hakiri, or Gemnasium to auto-detect gem security issues. These are easy tools to insert into a CI environment.
I think these two sources should get you that info as soon as it's available. You could also sign up for an account at rubygems.org and add Rails to your RSS feed.
Ruby on Rails on Twitter
Rails core mailing list
Also the Ruby 5 Podcast is a twice weekly resource and only takes 10 minutes of your time per week.
Also, if you find it hard to keep find the time to look for updates or perform the actual update: Use mini habits to e.g. update software every Monday, as I described in the week with a Rails security strategy

Good easy to learn Ruby on Rails developement platform

Hoping you guys can help me here, I'm at the end of my tether. I've been on a course to get into the web developement side of things. Only thing is the course is awful. It's completely disorganised.
Long story short I've got a couple of days to hand in a project that involves doing a simple ecom website that can list products, add new ones and have a basic shopping cart. Has to be done through Ruby on Rails and connect to a database. They've had us using Netbeans but so far they can't make it work properly in the college labs and it doesn't work on my laptop either. Does anyone know of a Ruby developeent platform that is easy to instal and use? I've heard good tinhgs about RubyMine but I'm so close to the wire I could really do withsome advice if anyone can help.
Well I usually code on Ubuntu, and so I just use gedit with the gMate package, so it works and acts like TextMate (Mac). I used to work on a Windows machine too and would just use Notepad++ because all I needed was a basic text editor, but with some more goodness than just plain Notepad.
You can checkout this other question about learning Ruby on Rails: https://stackoverflow.com/questions/6906839/best-way-to-learn-ruby-on-rails-from-scratch/6906885#6906885
Michael Hartl's book (http://ruby.railstutorial.org/ruby-on-rails-tutorial-book) is definitely a great way to learn Rails. In it, you basically re-create Twitter. It's really easy to follow, I thought, and you learn a lot. You don't necessarily need to read it straight through though, and can pick and chose what information is relevant to you. But it does go through things like: CRUD (create, retrieve, update, delete) of objects (like creating a new user, showing a user, updating one, deleting one), and how to interact with a database and even how to deploy it on to ye ol' world wide web.

Recommendation on development framework for a browser based online product catalogue?

I have to develop a online product catalog which will eventually developed into a simple online ordering system, I have never developed a web application before. Please recommend an application framework which might be a good choice for this kind of apps.
Is Ruby on Rails a good choice?
Thanks.
Definitely Ruby on Rails a Good Canditate for developing online e-commerce application , There are many e-commerce application developed in Ruby on Rails , which are successfully running .
Open source e-commerce application spree
Shopify CMS for online store .
Agile web development book has explained the working of rails with an example how to develop a product catalog , which will be more helpful for you.
Many plugins and gems available for payment gateway like the Payment gem .
What more you could need to develop an online store .If your resources are less and the development time should be speedy then rails a good candidate for your requirement.
Finally its your interest and skills set and choose the platform which suits your requirement :)
Hope this helps !
Rails is as a good choice as any other web framework can be.
Here are a few links to help you getting started with it.
The Guides
The Screencasts
The Agile Web Development with Rails book
And for your online ordering feature, you could look at Active Merchant.
Is it necessary to develop it yourself?
There are a number of great drop in solutions for a catalog/shop application. Some offer both the source code for customized deployment, others offer a package including hosting, setup and maintenance. In addition to what's already been mentioned, here are a few more e-commerce solutions that are ready to do.
Keep your hosting solution in mind when deciding how to proceed. A lot more hosts offer PHP than rails.
PHP Based ZenCart (Both)
Django Based Satchmo (Source only)
Rails Shopify (Hosted only)
Do you really want to reinvent the wheel?
If you've never written a web application before do NOT start with something that involves billing. That's a good way to end up in a lot of trouble. Billing is hard to get right, and if you get it wrong you can end up facing huge fines or even in court. In most cases, you have to comply with PCI DSS security standards, and if you fail to do so and information is lost or stolen, you're likely looking at $500,000 in fines.
If you absolutely must do e-commerce, outsource it to PayPal or Google Checkout so that your risk is limited mainly to charging people the wrong amount by accident.
That warning out of the way, Rails is a good place to start if you've never done web development before. It has it's problems, but they'll go unnoticed until you've been working with it for at least two or three years. i.e., they're fairly minor, and are likely to annoy only a very experienced developer with significant project requirements.
Full disclosure: Google is my employer, so obviously I think you should opt for the Google Checkout option.

Resources