RubyGarage loves Ruby on Rails! There are many reasons why – and we’ve even written an article explaining why people fall in love with Ruby. Ruby on Rails (RoR) applications are elegant and scalable, and the framework offers plenty of functionality out of the box. But in addition to our love for Ruby, you might have also noticed that we really like open source software here at Ruby Garage. In this article we’re going to review a few open source tools that we regularly use and would like to share with you.
1. Spree Commerce
Spree is a popular, open-source ecommerce platform for building online storefronts that’s used by many well-known brands including Rick Owens and Lavazza.
After working closely with Spree, we can point out a few reasons why this platform is so popular. First, it’s easy to expand a website’s functionality with Spree plugins. There are plenty of existing plugins to meet all kinds of needs – to offer PayPal payments, to show related products, to generate a sitemap, or to integrate with Shopify – but it’s also easy to develop our own extensions for the platform
Second, Spree makes it simple for a development team to launch an online store quickly and on a small budget. Third, Spree has an active open-source development community that constantly maintains support for the latest version of Rails. Finally, Spree offers a user-friendly admin panel. If you want to read about other advantages of Spree, you can check out our article about reasons why you should use Spree Commerce for your online storefront.
However, despite the many positive sides of Spree, our junior developers point out its high entry barrier for those who want to customize Spree to meet unique needs. In practice, this means that if your project will be supported by a team who didn’t originally develop the application, you’ll need a true specialist to handle issues. Moreover, you may need experience developers to optimize Spree for high load. As a final consideration, Spree's code receives a low grade for quality from Codeclimate, and its poor readability means that you need skilled specialists to properly work with this platform.
Some claim that Spree will become the ultimate solution for every online store. But as a rule, Spree is great for small and medium-sized businesses with medium load. At Ruby Garage, we’ve launched a few online stores built on Spree: Artdeco, Misslyn, Medshop Express. Spree helped us to quickly create these products from scratch.
Sharetribe is an open source platform that allows people to build their own marketplaces. Sharetribe aims to help people launch marketplaces quickly and with a tight budget.
Here at RubyGarage, we reap the benefits of Sharetribe when developing marketplaces that need to be deployed quickly. We deployed one of our Sharetribe projects in only two months! While it took us some time to customize ranking and to add custom filters, location-based search, and a landing page, we met our project timeline. In some cases you can launch your own marketplace in just one week thanks to the impressive deployment speed of Sharetribe.
But Sharetribe is also customizable and user-friendly. For example, you can customize your site’s design and categories, add additional fields, filters, and payment gateways. For instance, Sharetribe’s built-in payment system accepts PayPal and popular credit cards. However, you can customize your payment gateway by integrating with popular systems like Braintree and Stripe. If you want to find out more about Sharetribe, you can read our article about why we build marketplaces with Sharetribe.
Sharetribe is a perfect solution for small businesses who want to launch in a short timeframe. These are just a few examples of marketplaces built with Sharetribe: marketplace for preowned clothes like Häätori, surfboard rental service like Quiver, bicycle sharing service like Cycle.land, and more. Moreover, Sharetribe is great solution you can use to build a minimum viable product to test out your business idea.
Content Management Systems
Refinery CMS is a classic out-of-the-box content management solution. Refinery is an open source project supported by a large development community, and is available for free. It supports Rails 4.2+, though Rails 5 support is in progress.
Our developers at Ruby Garage mention a number of features they love about Refinery CMS. First, Refinery offers well-written, readable code, which makes it easy for developers to maintain. Realistically, most of our customers want to customize their content management systems – and Refinery CMS can easily be extended and customized as you wish. For example, the Spree Refinery CMS Authentication gem lets you connect your website to Spree Commerce to power your online store. Thanks to the active community of contributors, Refinery’s code is constantly maintained and updated, and comprehensive documentation is available.
In short, Refinery CMS offers basic solutions to basic needs. But if you're looking to extend its capabilities, you’ll probably need a specialist’s help. That said, you can use Refinery CMS to build sites for nearly any purpose, and include content of any kind. Refinery is used by mid-sized online stores like Marque Foods, community websites like Social Venture Network, and even personal photo galleries like Micha Theiner’s.
Customer Management Systems
Fat Free CRM
Another open source tool we use here at Ruby Garage is Fat Free CRM – an open source customer relationship management (CRM) platform which tops the list of CRM platforms on The Ruby Toolbox.
Fat Free CRM lets users automate their sales processes by handling lead tracking and managing contacts, quotes and customer databases. Leads are labeled according to status, such as “converted,” “contacted,” “rejected,” and “new". You’re able to assign tasks to people, for example to manage a lead, edit a lead, or remove lead information. Users can also manage marketing issues such as email campaigns, mailing list management, and multi-channel marketing. Fat Free CRM’s dashboard allows people to collaborate, track the progress of tasks, view recent activity from users, and view individual and company accounts and ‘opportunities.’ Opportunities are deliverables, which are specified for each campaign and can then be tracked by state (“proposal,” “negotiation,” “final review”) and assigned tags.
In general, Fat Free CRM is designed for small and medium-sized businesses, and its out-of-the-box features provide customers with a wide range of functionality to help them handle business processes including marketing and sales.
Project Management and Issue Tracking
Redmine is an open source project management and issue tracking application mainly used by software development teams. Redmine is especially popular with teams that work according to Scrum/Agile methodologies since it offers a Kanban board, a Gantt chart, and a calendar to visualize, manage and track tasks.
Redmine lets users create project roadmaps by defining key stages and setting milestones and due dates. Redmine helps track progress by showing percentages of completion. This feature helps Scrum masters and team leads keep in touch with project development and get a sense of the overall progress.
With Redmine, a project’s issues can be easily managed in the Issues tab, where users enter information about each issue including title, status, priority, assignee, milestone, start and due dates, estimated time and time spent on, and percentage of work completed, as well as related issues and subtasks. You’re able to view issue’s history, including comments and updates. You can also start a chat straight in the issue tab to discuss details of a problem with all relevant team members. Software development teams often use Redmine to track bugs.
Other essential features of Redmine include the Blog, where you can post announcements for the team, congratulate people on their birthdays, or share any sort of information. Wikis are also available to help teams collaborate to create, manage and update software documentation. Finally, Redmine provides you with a repository that can be integrated with Git or SVN.
Teams like Redmine for its customizability, flexibility. and simple user interface – even though some may find it too simple. Some companies use Redmine as a bug tracking system and the central hub for all project issues.
Forums and Community Discussions
Discourse is an open source platform for discussions, mailing lists and chat rooms written in Ruby on Rails. Discourse was created to streamline the process of internet discussions by implementing features such as infinite page scroll, real-time (and desktop) notifications about mentions in threads, and quick polls.
One of the founders, Jeff Atwood, claims in his interview to Bitnami that while all these features are pretty basic, Discourse actually has no competitors that offer the same functionality. Discourse has gone away from stereotypical forums – characterized by inconvenient navigation, poor design, and lack of personalization. Instead, Discourse offers clean UI/UX design, user metrics that allow you to track likes and posts, and login via Twitter or Facebook.
In fact, Discourse models itself on social networks to offer an effective discussion platform for closed communities. This approach means you can build forums with engaging features such as Emojis (standard and custom), likes, automatically generated avatars, badges (given for certain activities such as filling out your profile), and private messaging. Since its launch in 2013, Discourse has gained huge popularity with prominent players on IT market, including the Twitter Developers Forum, Ubuntu and SitePoint forums.
There are plenty of great applications written with Ruby on Rails – and many are even open source, written by collaboratively by enthusiasts and sporting open code. Moreover, many Rails apps offer useful “out-of-the-box” functionalities, meaning they require minimal effort to customize (or in some cases don’t require any effort at all). We’ve picked out a few RoR tools that solve different issues including ecommerce, customer and content management, project collaboration, and even community discussions. If you want to find out more about other awesome apps written with Ruby on Rails, drop us a line and we’ll be happy to talk!