Saturday, December 27, 2014

Software at Oregami

At Oregami we are using a bunch of open source software products, or commercial products that are freely available to open source projects like us to get things done. This blog post will tell you what we are using!

Software for Development

IntelliJ IDEA

You are a Java developer? Chances are high that you are using Eclipse IDE which is available under a free license. I am using Eclipse now for many years myself, and I got "used to it".

Somehow I got aware of IntelliJ IDEA from Jetbrains, which they call "The Most Intelligent Java IDE". It is not completely available for free: they offer a free "Community Edition", but many useful features are only available if you buy the "Ultimate Edition". Fortunately, Jetbrains offers an Open Source License for the Ultimate Edition. IntelliJ IDEA is available for Mac, Linux and Windows.


What are the highlights of IntelliJ IDEA? One thing that shines is the brilliant Maven integration: never start "update maven dependencies => force update" and wait for minutes like you have to in Eclipse. IntelliJ automatically updates your repositories! For an overall statement let me quote from this StackOverflow question:

There is only one reason I use intellij and not eclipse: Usability
Whether it is debugging, refactoring, auto-completion.. Intellij is much easier to use with consistent key bindings, options available where you look for them etc. Feature-wise, it will be tough for intellij to catch up with Eclipse, as the latter has much more plugins available that intellij, and is easily extensible.

This is IntelliJ IDEA in action:




If you participate in the Oregami development, you can also use our IntelliJ IDEA license! Contact me if you want to know more about this.

Webstorm

Also from Jetbrains comes the IDE Webstorm which is specialized in the development of Web applications. It supports things like JavaScript (auto-completion, error detection, refactoring) and especially frameworks like NodeJS, AngularJS, Gulp and technologies like debugging, CSS and of course HTML. You should also not underestimate the integrated full text search, which is very fast because of the used fulltext index of the whole workspace. Check out the feature site for detailed information about Webstorm. We are using the product for free with the open source license offered for open source projects. It's available for Mac, Linux and Windows.


And the same here: contact me if you want to support Oregami development and use our Webstorm license.

 

SourceTree

All our source code is placed at GitHub. When we have changed files locally during development, these changes must be sent to the corresponding GitHub repository. While it's always possible to work with Git on the command line, it is more comfortable to do these things through a nice user interface. And although most IDEs like IntelliJ, Webstorm and Eclipse contain tools or plugins for version control, I am using the application SourceTree by Atlassian. SourceTree gives a very nice user experience for the many (complicated) Git operations! And it's available for free, you just have to register after 30 days (for free). Sadly there is no Linux client, but you can get it for Mac and Windows.



 

Postman

Our server application is REST-based, that means you can make HTTP requests with every browser or a command line tool like curl to receive data in JSON or a similar format. But that's not very convenient during development, so I searched for a tool that supports making complex REST calls easily. And I found Postman! It's a Chrome plugin that lets you make REST calls against your (local or remote) server, you can manipulate things like headers, authorization or the request body comfortably. You can save your calls in collections to replay them again later with a single mouse click. Postman is available for free, you can purchase a license for 10$ with some extended features like automatic replay of collections and extended testing. A new feature is Newman, a command line and build integration for Postman collections!


Software for our website

JIRA

Although we do not yet have the concrete demand for bug tracking, we installed and used JIRA from the beginning of our project. One reason is that JIRA is not only a bug tracker but rather a general issue tracking system that can be also used for project management. For example, we started to collect features with JIRA that we want to support with our game database.

JIRA is another one of many tools for developers provided by Atlassian. For open source projects like Oregami they offer a free license, and in fact they offer this license for all of their tools!


Confluence

Three years ago, when we started Oregami, we used the famous software Mediawiki, which is also used for Wikipedia, to collect our ideas for our project. Very soon we recognized that this wiki software lacks multiple things, e.g. good user and rights management or a WYSIWYG editor. So we switched to Confluence, which also comes from Atlassian like JIRA (under the same free license for open source projects). Confluence is a very comprehensive online collaboration tool with many great features, one of them is the superb JIRA integration (user management and content). Check out what we already wrote down in the Oregami wiki!


phpBB

The most active part of our website is the discussion board. We are using phpBB, one of the most widespread PHP boards worldwide. The software is really very stable and it's free, that's why so many sites are using it!



Redaxo

Our public webpage with information about our goals and our approach is somehow static, but was always meant to be available in multiple languages and should be easily maintained. For this we are using the content management system Redaxo, which is available under the GNU GPL.


Conclusion

It's great to use great software from other people and companies, one day we will be able to give something back!

No comments:

Post a Comment