Insights and Strategies for upgrading Ruby on Rails applications

For the past few months at Kiprosh, we've done versions upgrade of multiple mid to large scale Ruby on Rails applications. One of them was running Rails version 3.2.22. That's where we found out that, we need to make a lot of changes in our codebase to run our application on version 4.0. Hence, we thought to write this blog post to share our insights and recommended strategies for upgrading such mid to large Rails applications.upgrading Ruby on RailsRails guides provide us a brief information on how to upgrade the Rails app, but we need to

Build Rails like console in Nodejs

Recently, our organization planned to migrate an internal application web API to Nodejs web API. We have everything to work on node app, but we were lacking a console where we can run queries and examine results to implement them in our controller or vice-versa.fig 1. Nodejs consoleWhat we have in Ruby on Rails frameworkrails_app $ rails c irb(main):005:0> User.first User Load (0.7ms) SELECT "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT 1 => #<User id: 1, email: "aravind@kiprosh.com"

How to store emoji characters in MySQL database of a Ruby on Rails application

Emoji has become an essential part of communication in our digital lives. Hence, as developers, our applications should provide first-class support to them. In this blog post, we will explore how to store Emoji's in MySQL database.In one of our internal Ruby on Rails web application using MySQL database, we were facing an issue whenever a user tried to insert an emoji in the text of an article. The "save" functionality in UI ran infinitely (ajax) and logs were reporting following errors:ActiveRecord::StatementInvalid (Mysql2::Error: Incorrect string value: '\xF0\x9F\x98\x8A ...' for column 'content' at

A Quick Introduction to NextJS

Next.js is a React framework that is used to develop front-end web applications and make the life of developers so much easier.

How we automated our recruitment process using Zapier, Airtable & Trello

As a tech organisation, we always strive to find suitable talent for available positions, and then move them quickly through the application funnel, from sourcing to hiring. The goal is to onboard a potential candidate as fast as possible. In this endeavor, we decided to automate our recruitment processes so that the overall time to screen, interview and to release an offer is relatively faster. Background Interested candidates apply on our website through careers page. We have a referral program for our associates so it also resulted in wider interest. We also receive direct applications through email on careers@kiprosh.

Dealing With Dynamic Elements And Canvas In Selenium

We have one CRM product of our client and we are in process of automating it. In that, we have one orders section where user can place orders for either themselves or for the customers. In the orders flow, since the user is purchasing product of their choice which are customised niche products – we have a requirement for the user to accept the agreements, and also sign the agreement, before they can go ahead and make a payment for their purchase. In theory, this sounds pretty straightforward to do as most of the applications have some agreements to accept inorder

Generating Image Thumbnail In Elixir Phoenix With ImageMagick

Thumbnails becomes inevitable part of the process when dealing with images. They provide us a way to give a peek through the original image which helps in building rich user experience in modern applications. In an internal productivity tool while building this experience, Our whole attachments feature was ready and we had found the only available option in Elixir/Phoenix ecosystem Thumbnex for generating thumbnails. Once we started integrating this library, we almost immediately got hit by following error: ** (ErlangError) Erlang error: :enoent (elixir) lib/system.ex:622: System.cmd("ffprobe", ["-show_format", "/var/folders/

Improving NodeJS Performance With Clustering

Scaling node application can be tricky. It isn’t an easy topic. It requires lots of expertise both in terms of having knowledge about node nuances and how to manage resources. You can scale your application either by Vertical Scaling or by Horizontal scaling or by both. Apart from these, there are other factors that should be considered for better Node performance is either using ‘Cluster’ Mode or ‘Worker Threads’. We are going to focus on ‘Cluster’ Mode. Cluster Mode is used to start up multiple copies of nodes that are all running your server inside them. As we know

Introduction To Android Autofill Framework

The Autofill framework introduced by Google from Android Oreo i.e. 8.0 (API 26) and later. With the help of autofill framework user can store their username, password, email, and credit card number, etc. just like a web browser. Benefits of Autofill Reduced time: Filling form is a time-consuming process; autofill framework helps to saves users from retyping the information. Reduce input errors: Typing is prone to errors, especially in mobile devices. Using this it is not necessary to type information also removes the errors that come with it. Prerequisites OS Version: Android 8.0 or later Autofill Service:

Building Rails 5 application with Angular 5

This article shows the very basic application set up required to host a rails application with Angular 5 framework Angular - Is a modern javascript framework for building web application in javascript,html and type script(super script of javascript) Such kind of working will have two separate servers. One server will be hosting rails part and the second server will be hosting the angular part. The HTTP request raised will have a different origin header, than that of the server hosted, and hence the request will fail. A cross-origin HTTP request (CORS) is used when the request is raised