How to publish your Android Library to GitHub Packages through Android Studio

GitHub Packages allows you to publish and consume packages within your organisation or anyone else in the world.

GitHub Packages is available for free, for public packages and paid for private repositories. More information can be found on the following link: https://github.com/features/packages

If you’re looking to create a library and host it somewhere where you can easily share it. Whether that’s in your project, with your team or external clients, GitHub Packages is a simple solution that would allows you to do so.

I’m writing this article as I found the information online to be either out-of-date, or didn’t fully…


Out of the box, App Center’s Push Notifications functionality provides a lot for you to get started with.

App Center is a Microsoft solution that lets you manage your end to end build/distribution and management of your mobile applications.

I have recently moved to using App Center to manage my applications. App Center lets me manage both the iOS and Android apps in one place.

The feature I want to speak about today is the Push Notifications.

My application, Jdiwi is a shopping solution for the Algerian people. In Algeria, the population speaks many languages and I have already gone…


How to avoid developing “LEGACY” software

Throughout my development and consultancy career, I have come across a lot of “Legacy” software. Anytime I get a chance to work on such project, I try to imagine what went on in order for it to be in the state it currently is in.

What is Legacy Software

To me, Legacy Software is software or systems that has one or more of these characteristics:

  • The software is mission critical to your business
  • Dependent on vendors that are no longer in business (or no longer support the product)
  • Dependent on hardware that is no longer supported
  • Dependent on a specific operating system (possibly passed…


Simple settings and configurations for your application layer using dependency injection

I wanted to share with you a setup I use for binding settings using dependency injection in .NET Core.

In my application I have two types of repositories, one is a SQL repository and the second is the Azure Storage Repository (this can also apply to your services etc)

Both of these need connection strings and various things from the configuration.

So I implemented to following interfaces to access these settings.

Now in my application (in my case it’s an API), I add the following to my appsettings.json

Now we will create our WebSettings.cs file in our…


Developing a { connect } pattern

You may have come across React’s Context API without realizing it. Same goes for Higher-Order-Components.

If you have ever worked with Redux, you would have experienced both, React’s Context API (under the hood) and Higher-Order-Component, { connect} from their react-redux package. Or @material-ui/core with their withStyles

Both of these concepts are not very difficult but I think realizing when to use them is the difficult part.

In the application I was working on, I had a client object that was used to store system wide defaults and settings as well as reusable objects (the application I was building also had…


NodeJS application with Azure App Services and Docker in DevOps

As part of an exciting project I am working on, I developed a Micro Service in NodeJS and used the DevOps to build/release the application with Docker in Azure App Services.

Pre-requisites

  • Knowledge of NodeJS and some knowledge of docker
  • Docker installed on your Machine (optional, for testing locally)
  • Visual Studio Code
  • DevOps (VSTS) account
  • Azure Account
  • Sign up to https://mlab.com/ and create a database

Our application

I am going to use this Boilerplate which allows you to enter items in a list, displays them and deletes them. …


How to publish and consume NPM packages with VSTS

In my previous article, I explained how you can automate the deployment of your internal Nuget packages using VSTS and how to consume them. Today, I’m going to show you how you can use a very similar setup to build, deploy and consume NPM package all within VSTS.

We will create a simple package that will allow us to audit our function calls. In reality, it is just going to print it out to the console; probably not a practical example but it will suffice for this article.

Prerequisites:

  • Install Node.js and NPM
  • Some experience with Node.js and NPM packages


I came across an interesting problem I needed to tackle within MST regarding Tree Traversing.

My interesting problem

I am using MST to create a document template, and using that same template to create a document from it. However, I later needed to develop the functionality to allow the document owner to upgrade the template of the document they have created.

What I needed to do was essentially visit every node within the template and compare that to the documents node (or treat them as new nodes). …


Protecting your client with secrets

In the previous article, I explained how you can create Webhooks micro services using Azure Functions and how to consume them.

I have left out one crucial part to all of this, how does your consuming client know that the callback trigger really came from you? If we run the API from the previous tutorial, we can POST the following request using Postman and our API will happily consume it.

This is very dangerous as it could mean that anyone that can get hold of your callback URI is able to pretend to be the Webhooks client.

There are various…


Creating and consuming webhook Micro Service using Azure Functions

In my previous article, I briefly explained what Webhooks are and why they might be useful to develop. In this technical article, I am going to walk you through how to develop Webhooks using Azure Functions.

The user case

I have a website that allows you to upload, remove and update documents. I am going to create a small Azure Function that will act as the Webhooks Micro Service. We will be listening to an Azure Storage Queue to events coming in from other parts of our systems (not covered in this article).

We will then use data from an Azure Storage Table…

Shems Eddine

Azure Cloud Platform Expert | NodeJS & .NET Senior Consultant | Lead Software Engineer in City of London

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