Dotnet, NodeJs, DevOps and more…
-
Monorepo architecture, CI/CD and Build pipeline
The monorepo architecture has certain advantages over polyrepo (or multi-repo) in some cases. However, implementing a successful monorepo is not easy, especially when it comes to automation, CI/CD, and build pipelines. For instance, there may be issues with long-running tests and releasing unchanged packages unnecessarily. Based on my experiences, I will provide some solutions to…
-
NodeJS Application Insights, logging and telemetry best practices
Distributed tracing and Real Time Application Monitoring is an essential component of any modern software architecture. This is done through telemetry, meaning produce some kind of tracing data about the software (included but not limited to logging) and transmit it to some external system to be stored and processed. Telemetry monitoring combined with tracing helps…
-
How to setup a TypeScript project dev environments like a pro
There are many ways to set up a nice developing environment for typescript. Since I like simplicity and ease of work, let’s setup a TypeScript project that is minimal and easy to work with. Though, It doesn’t mean we need to stick to the defaults; this setup works out of the box, it is pretty…
-
How to Mock a TypeScript class or dependency using Jest
Jest is an awesome and easy to use testing framework for JavaScript, but when it comes to TypeScript and mocking (specially to mock typescript classes) it can really become painful as TypeScript is not relaxed about the types as JavaScript is. In this article I am going to show you how to mock a dependency…
-
How to deploy nodeJS app to production
Releasing javascript/typescript applications normally ends up with producing a huge artifact, the reason is obviously the node_modules. Here I am showing you how to deploy a NodeJS app to production with very small artifact and very efficient deploy time. node modules When you create a modern javascript / typescript project you are taking care of…
-
ReactJS Release CICD for azure devops Pipeline and GitHub actions
I am going to show you how to properly release ReactJS for production. I show you how to drastically reduce the deploy time when it comes to ReactJS Release CICD for azure devops Pipeline and GitHub actions. React is a JavaScript library that helps you make UI in in a very nice way. Though, to…
-
Single Page Application (SPA) vs Multi Page Application (MPA)
If you want to decide about what technology you want to make your solution, one of the things to consider is if it should be Single Page Applications (SPA) or Multi Page Application (MPA). I see some teams decide to go with SPA because it is shiner, or MVC because they are in the impression…
-
Environment Variables as GitHub Codespaces Secret
It’s been long since we are asking programmers “not to push connection strings and API Keys” to the source code. And also, set them as environment variables for production. But you still here and there you can find sensitive information on both repository and config files on production server! GitHub Codespaces gives you the solution…
-
Github and github_token and github secrets
There are security flaws on github token and github secrets, lets review them and make sure we are aware of it. Since microsoft acquired GitHub, they are investing heavily on monetizing it (for organizations not open source). So, lots of good features are added literary everyday. But it seems GitHub is not there yet, there…
-
SignalR & React example project (2023) – no extra package!
Have you ever needed to communicate from server to the react client? We normally use an api to call the server from client and we learned to live with that, but some time you need the opposite. This article is about how to use Aspnet SignalR to send notifications to the React app.
-
npm package json lock version lockfileVersion:1 or 2? All you need
Now that node.js LTS is change to v16 many team members and even domen cloud providers have not upgraded yet and are still on v12 or v14. Node.js 14 comes with npm version 6 now we are on version 8. The teams having problem with someone messing up the git repo updating npm package json…
-
SonarQube Pull Request Scanner + Community
On the previous article, we installed a SonarQube community server on ubuntu and using SQL server. Now We are going to expand our learnings and create the whole process of code quality assurance with SonarQube. We are making a CI/CD workflow so that any line of new code be scanned and measured by SonarQube. This…