Skip to main content

Free to use tools for maintaining your OpenSource projects

In this post, we will talk about how to effectively maintain your OpenSource projects using tools/softwares which are free to use for OpenSource and the public repositories. Over time, when the project grows you, need to set up a few tools which can help you maintain the project and automate the trivial tasks.

1. Setup CI/CD

Having an OpenSource project to which you might be contributing just as a hobby, but doesn’t mean you don’t need to set up CI/CD pipeline. You don’t need to expend a single dime on servers or need to use cloud services to run your CI/CD. There are a lot of CI/CD tools available free for open source projects and public repositories. One such tool is Travis CI which you can use for setting up CI/CD for your project.

Image for post
Travis CI

You can run test cases and deploy code to your servers. Travis CI works great and easy to set up the CI/CD pipeline.

2. Code Analysis and Code Quality

Maintaining code quality as the project grows can be very hard and time-consuming. Thankfully there are several tools that can help you in automating the continuous analysis for the code.

Scrutinizer is a great tool that you can use to automate the code quality and code analysis for your project. Scrutinizer is free for OpenSource projects and public repositories. 

Image for post
Scrutinizer

similar tools Codefactor.

3. Code Styling and Indentation

It’s very important to have a consistent coding style and proper code indentation. For OpenSource projects, it becomes even more important. There will be contributors who follow different code styles and prefer different code indentation practices. Over time it’s hard to maintain the same style throughout the code via code reviews. Tools like StyleCI can ease that pain.

You can setup StyleCI or something equivalent which supports project code language to do this. StyleCI automatically checks the Pull Requests and fix the styling issues and can open a PR to fix them.

Image for post
StyleCI

An example PR by StyleCI

Image for post

4. Security

It’s important to automatically find, prioritize and fix vulnerabilities in the project and the open source dependencies used in the project. Snyk is awesome in that respect. Snyk offers Unlimited tests on open- source projects. Snyk can monitor the vulnerabilities and inform you. You can setup it to automate fixing with a one-click fix pull request populated with the required upgrades and patches.

Image for post
Snyk

Thanks for reading. If you have some feedback, please reach out to me on Twitter or Github.

Comments

Popular posts from this blog

Track stock market information right in your Terminal.

     Introduction: As a developer, I love working with the terminal. The plain, simple, and in my opinion the best way to interact with the computer (also it makes you look geeky). I spent most of my time in the terminal. By now you must have guessed I am a huge fan of the terminal and terminal-based applications. Recently I developed an interest in stock markets and started tracking the stock markets. Since I love working with the terminal I decided to build a terminal oriented application that can help me to track the stock market. Inspir e d by  wttr.in  I build  terminal-stocks  which can provide the stock's current prices, historical prices, and global market summary. How to use terminal-stocks terminal-stocks  is available and can be used without installation. Get the current price of the stock. curl terminal-stocks.herokuapp.com/ITC.NS Current price of stocks You need to provide the ticker of the stock and terminal-stocks will give you the price information of the stock.  t

Setting up Nginx as a reverse proxy for Node.js App

Okay.. but what is a reverse proxy? A reverse proxy is a web server that centralizes internal services and provides unified interfaces to the public. Requests from clients are forwarded to a server that can fulfill it before the reverse proxy returns the server’s response to the client. Nginx is a popular choice to use as a reverse proxy for your node.js application. Got it. Now let’s set up Nginx Let’s say your nodejs server is running locally on localhost:3000. We will set up Nginx to get the request and forward the request to our nodejs server. Ins t alling Nginx on ubuntu sudo apt-get update sudo apt-get install nginx Configure Nginx Disable the default, virtual host unlink /etc/nginx/sites-enabled/default 2. Create a configuration file cd /etc/nginx/sites-available sudo nano reverse-proxy.conf 3. Put the following content in the file server { listen 80; listen [::]:80; access_log /var/log/nginx/reverse-access.log; error_log /var/log/nginx/reverse-e

RESTful CRUD API with Deno, Oak and MongoDB

In this post, we are going to build a RESTful CRUD API with Deno, Oak and MongoDB as database. In the previous article, we discussed how to install deno in your local machine and start using Deno. If you haven’t read that article, please read the article below and install the deno first. Getting started with Deno, Your first app Hello Deno. Let's install Deno. Deno ships as a single executable with no dependencies. You can install it using the installers… blog.shashi.dev After installing the Deno, we will start building the restful crud api’s. We will use o ak  microframework. Some of the other deno microframeworks are: abc deno-drash deno-express oak pogo servest In this article we will be using oak, which is inspired by koa. Setting up the project: Create a new directory called  restful-api-deno mkdir restful-api-deno 2. After c r eating the directory just  cd  into the directory cd restful-api-deno 3. Create a new file  server.ts  and paste the following code init. import { Ap