Annotorious OpenSeadragon implementation in React

This article aims at creating annotations; which are dynamic, storable, and re-creatable selections on top of an image, with their own set of comments, and tags; inside a ReactJS project, with the help of OpenSeadragon as a high-resolution zoomable image viewer and Annotorious as the annotations package.

React Native is on the rise, and it is only getting better. It has never been easier for a seasoned JavaScript web developer to start developing cross-platform mobile applications with React Native; using JavaScript at its core and JSX like native components for the UI.

Although React Native is easy to get into, things can always go south without anybody noticing. Having a few performance-enhancing weapons on your arsenal will always be an asset.

Over the past couple of years, developing with react native with and without expo, using native modules, and diving into syncing react native with the native…

In this article, we will build a ReactJS web application and a GO server with gin from scratch where we will generate a CSV formatted file and sent it as a response to a ReactJS web application.

- The response received from the GO server is made such that it downloads the CSV file.

- The CSV files are not created as actual files but buffer, so this is suitable for use cases with app engines where actual file storage is not available.

GO not installed?
Please refer to the installation instructions provided in the official GO docs.

New to…

React Hooks have been around for some time now. And although I love it. There are few areas that need a little workaround when working with hooks. You can create your own react hooks, suitable for your use cases. A couple of custom react hooks, that I’ve been using to make my coding experience better are explained here.


When you create a state variable and its setter function with useState() and use them inside event listeners. You will see that the event listener function never gets the latest value of the state variable. …

I am a React Developer, I have always loved React and it has always been my goto library for web as well as mobile (React Native) development; among other frameworks/libraries. Recently, I got the opportunity to learn Next.js and I must say, the Future of React is in Next.js.

So, What is nextJS?
Next.js is a React Framework, with server side rendering capabilities and also all the other features you need for production.
Without little or no any configuration.

Server-Side Rendering VS Client-Side Rendering

In, our traditional React application, what happens is the browser downloads a minimal HTML page, and the rest of the content…

In this article, we will build a GO server from scratch with firebase authentication. However, explanation of creating a REST API and endpoints in GO will be brief and the following points will be much more focused on:

- Configure Firebase Admin SDK and Firebase Auth in GO.

- Use Firebase Auth to validate your REST API requests.

GO not installed?
Please refer to the installation instructions provided in the official GO docs.

New to GO?
Please refer to the five-part article series on Getting Started with GOlang”.

Create REST API server in GO

Firstly, create your project directory gofirebase and initialize go mod inside your…

This article will show how to use OpenSeadragon in a React project, and implement a basic viewer for high-resolution zoomable images. For the demo, we will use the image sources provided by

OpenSeadragon is an open-source, web-based viewer for high-resolution zoomable images, implemented in pure JavaScript, for desktop and mobile.

Create a React App

First, we need a react application. So let’s create one with create-react-app :

npx create-react-app openseadragon-demo

After a new project is initiated, we get into the project directory and start the react servers.

cd openseadragon-demo
yarn start // if you are using npm: npm start

This article aims at showing how to configure cloud DNS to use a custom domain, with your deployed apps.



We need a domain if you already have one, excellent!
If you do not, then you can get a free available domain from, freenom.
I have got my free domain, “” from freenom.

This article aims at providing a thorough guide to:
1. Creating a GCP VM instance (server).
GCP: Google Cloud Platform
VM: Virtual Machine

2. Creating an Nginx webserver.
3. Deploying your existing React App to the server.

NOTE: This article expects you to have a React App.
If not, Please visit the official React Documentation to create and run a simple react app.

Creating GCP Virtual Machine Instance
Go to, Google Cloud Console, log in with your Gmail. Create a project, or select your existing one.

Make sure you have access to the Google Cloud services.
If not, you can sign…

This is the Fifth article in the “Getting Started with GOlang” series. If you have not checked out the previous article please check it out before diving into this.
1. Getting started with GOlang
2. Slices, Custom Types and Receiver Functions(methods) in GOlang
3. Structs and Maps in GOlang
4. Pointers and Passby value/reference in GOlang
5. Interfaces in GOlang


Before learning anything about what interfaces are, lets take a look at an example to clearly get the idea regarding why we need interfaces and how it could save us a lot of trouble while coding with GO.


Sajal Dulal

Software Engineer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store