Go! A set of tools for each project
For many of us, programming is a passion. So it often happens that we also have some small, private projects that we develop after hours. However, when someone starts a new project without much experience, they look for tools that they can use, but there are so many of them that it is difficult to choose one that will meet all expectations.
Therefore, I will introduce you to some tools that I think are great for such projects. In addition, the assumption is that we do not have the ability to host our own solutions (repository or tracker) and do not want to spend any money (or as little as possible).
Probably the most popular repository. As part of the free plan, we get a simple issue tracker, wikis that we can create in several languages, such as Markdown, as well as the ability to work on an unlimited number of public and open source repositories… well, here’s the catch – if we want to create a private repository, it requires an upgrade to the paid version of $7 every month. And that’s all that makes imho GitHub stand out quite poorly against the competition. If we want to create an open source project, it is a very good choice because of the large and active community that can support our work.
Currently, perhaps the biggest competition GitHub when it comes to opportunities. In the free package we get unlimited private repositories, wikis available in 3 formats, and more interestingly, the integrated solution Continuous Integration / Continuous Delivery and 2000 minutes of building to use per month, as well as a simple tool for code review. In short-quite a satisfying set of tools at the best price-free. It is also worth mentioning that public projects also receive all paid functionality and unlimited CI / CD
Atlassian’s solution, which provides very basic functionality: wiki, the ability to group repositories into projects, very simple integration with Jira (although other solutions also have no problem with this), as well as 50 minutes a month for the CI/CD solution included in the package. An additional advantage is easier integration with other Atlassian products. The biggest limitation is that with a private repository, our team can only have up to 5 people-if we need to add another person, we will have to switch to a paid plan.
As for the repository for our project, for me the biggest determinant here is a simple set of questions:
Will it be a private or public / open source project?
Do I need an integrated CI / CD solution?
How big will my team be?
These questions will allow you to select a repository for your project. When it comes to my personal type, it falls on GitLab, which gives the most opportunities and the least restrictions for the same price, and if you come to pay, it will be the cheapest.
If we do not need too many functions from the tool to track the tasks in our project and do not bother us sometimes not very convenient interface, the trackers that are included in the above repositories are quite enough. In a situation where we need something more, I recommend one of the following solutions.
Probably the most popular solution from Atlassian, most appreciated for its ease of use, friendly appearance and numerous extensions available through the marketplace, if necessary, without problems, we can also create our own. A lot of integration with other tools makes this product extremely attractive even for small teams. Up to 10 users cost $ 10 per month or $ 100 per year.
JetBrains solution offering very similar capabilities to Jira, but with imho much heavier and less intuitive interface. An interesting feature is the ability to write task flows in the form of scripts, which I have not encountered anywhere else. As for the price, it depends on whether we want to keep our project private or not. If we share our tasks by choosing a public project, then up to 10 users will not pay anything for using YouTrack, as with some open source projects. However, if we want the tracker to be available only to us, then we need to buy a package for 15 users for € 20 per month or € 200 per year.
As for my type, it will be Jira, mainly because of the ease of use and the fact that for a smaller team it will simply be cheaper.
Of course, you can write code in a notebook, but we agree that this is not a very convenient or effective form of work. Not everyone wants to spend big on environments like IntelliJ. Therefore, I decided to introduce you to 3 editors, which more experienced are certainly familiar.
Great IDE that is supported by Oracle. Although it supports relatively few languages (Java, HTML5 + js, PHP, C/C++, groovy), it does its job very well. The editor is stable, pleasant, marketplace contains many useful extensions, for me the best free IDE for Java.
Microsoft’s smaller child, which I (and not only) think is awesome. Very lightweight editor supporting a wide range of languages with lots of extensions. Available on Windows, Linux and macOS, free of charge also for commercial purposes. Two disadvantages are not very convenient integration with the version control system and configuration only through JSON files. Nevertheless, it is an editor worth recommending and worth giving it a chance.
Thanks to these tools, getting started with the project will be much easier, and the work itself will be more enjoyable. Although these are not all tools available on the market today, the products presented here are certainly worthy of attention.
Damian Józefiak / Java Programmer / ProData Consult