Homepage
Open in app
Sign inGet started

TenantCloud Engineering

We build technology to shape the future of real estate

API Integration Best Practices: The Complete Guide for Backend Developers

API Integration Best Practices: The Complete Guide for Backend Developers

How to Integrate 3rd Party APIs: A Practical Guide for Backend Engineers
Go to the profile of Andrii Chykharivskyi
Andrii Chykharivskyi
Jul 14
OpenAI Codex vs. Claude Code: An Early Comparison

OpenAI Codex vs. Claude Code: An Early Comparison

Yesterday, OpenAI unveiled their new coding-focused model, o4-mini, alongside the experimental coding agent, Codex. Given our ongoing…
Go to the profile of Ivan Kolodii
Ivan Kolodii
Apr 17

Understanding runInInjectionContext in Angular: How, Why, and When to Use It

Angular’s Dependency Injection (DI) system is central to the framework’s architecture, but sometimes you need to access services outside…
Go to the profile of Olia Pankiv
Olia Pankiv
Apr 14

Understanding Dependency Injection in Angular: Constructor Injection vs.

Angular provides several methods for dependency injection: constructor injection, the @Inject decorator, and the newer inject() function…
Go to the profile of Olia Pankiv
Olia Pankiv
Apr 11
Understanding ViewProviders vs Providers in Angular

Understanding ViewProviders vs Providers in Angular

Angular’s dependency injection system is one of its most powerful features, allowing for clean separation of concerns and efficient code…
Go to the profile of Olia Pankiv
Olia Pankiv
Apr 11
How to retry only failed playwright tests within GitHub actions jobs

How to retry only failed playwright tests within GitHub actions jobs

With Playwright’s --last-failed option, we can ensure that only failed tests are retried when re-running a GitHub Actions job. This…
Go to the profile of Roman Khomitskyi
Roman Khomitskyi
Jan 27
Stop Duplicating Code: Create a Single Control in Angular for All Your Selection Needs (Radio…

Stop Duplicating Code: Create a Single Control in Angular for All Your Selection Needs (Radio…

Introduction
Go to the profile of Volodymyr Chykharivskyi
Volodymyr Chykharivskyi
Oct 27, 2024
LinkedSignal in Angular 19: A Technical Dive

LinkedSignal in Angular 19: A Technical Dive

Today we’ll examine a new experimental feature in Angular 19 — linkedSignal. This is a powerful extension of the signals system that adds…
Go to the profile of Nazarii Kovtun
Nazarii Kovtun
Oct 25, 2024
Building Real-Time Features with SharedWorker and Pusher.js

Building Real-Time Features with SharedWorker and Pusher.js

Ever wondered how modern web apps handle real-time updates across multiple tabs so smoothly? Let’s dive into a powerful solution that…
Go to the profile of Nazarii Kovtun
Nazarii Kovtun
Oct 24, 2024
JWT Token Refresh in Angular: How SharedWorker Can Save the Day

JWT Token Refresh in Angular: How SharedWorker Can Save the Day

SharedWorker to the Rescue! Let’s see how it works…
Go to the profile of Nazarii Kovtun
Nazarii Kovtun
Oct 21, 2024
Advanced JWT Interceptor to Handle Concurrent 401 Requests in Angular

Advanced JWT Interceptor to Handle Concurrent 401 Requests in Angular

Solution Through RxJS and Angular HttpInterceptor
Go to the profile of Nazarii Kovtun
Nazarii Kovtun
Oct 17, 2024
Fast and easy migration from Cypress to Playwright using OpenAI

Fast and easy migration from Cypress to Playwright using OpenAI

We had a large Cypress project with over 4,000 files to migrate to Playwright. With the help of OpenAI, we were able to complete this…
Go to the profile of Roman Khomitskyi
Roman Khomitskyi
Aug 27, 2024
Mastering Mobile View Testing in Playwright: Simplify Your Workflow with TypeScript Decorators

Mastering Mobile View Testing in Playwright: Simplify Your Workflow with TypeScript Decorators

When implementing mobile runs for E2E tests in Playwright, managing the workflow efficiently can be challenging:
Go to the profile of Roman Khomitskyi
Roman Khomitskyi
Aug 26, 2024
Harnessing the Power of Google’s Latest AerialView API

Harnessing the Power of Google’s Latest AerialView API

Recently, Google introduced an exciting new feature to their Maps platform — the AerialView API. This innovative tool generates footage…
Go to the profile of Ivan Kolodii
Ivan Kolodii
May 11, 2023
Laravel 10 package development from scratch

Laravel 10 package development from scratch

This article is an updated version of Laravel 7 package development article
Go to the profile of Ivan Kolodii
Ivan Kolodii
Apr 9, 2023
Top MySQL 8/AWS RDS 3 features that can improve your app

Top MySQL 8/AWS RDS 3 features that can improve your app

Recently AWS announced a long waited support of MySQL 8 for their RDS Aurora. Of course, you could use MySQL 8 engine on RDS way before…
Go to the profile of Ivan Kolodii
Ivan Kolodii
Sep 25, 2022
How to create AWS Lambda Python function using Docker container?

How to create AWS Lambda Python function using Docker container?

Introduction
Go to the profile of Andrii Chykharivskyi
Andrii Chykharivskyi
Sep 12, 2022
How to write Swagger documentation for Laravel API. Tips & examples

How to write Swagger documentation for Laravel API. Tips & examples

API documentation becomes very necessary when you split the team into Backend and Frontend. And even more when you divide your monorepo…
Go to the profile of Ivan Kolodii
Ivan Kolodii
May 9, 2020
How to fork and maintain laravel package with ease

How to fork and maintain laravel package with ease

There are a lot of amazing ready to use laravel packages on Github and packages. Every project uses open-source packages. The only problem…
Go to the profile of Ivan Kolodii
Ivan Kolodii
Apr 28, 2020
About tenantcloud-engineeringLatest StoriesArchiveAbout MediumTermsPrivacyTeams