API with NestJS #153. SQL transactions with the Drizzle ORM

This entry is part 153 of 153 in the API with NestJS

Ensuring the integrity of the data is a fundamental responsibility of each developer. Fortunately, SQL databases give us the tools to ensure our database stays consistent and accurate. A crucial scenario to consider is when two SQL queries depend on each other. A typical example is transferring money between two bank accounts. Suppose we have […]


API with NestJS #152. SQL constraints with the Drizzle ORM

This entry is part 152 of 153 in the API with NestJS

When working with SQL databases, we can configure constraints to ensure our data does not get corrupted. In this article, we explore and implement different SQL constraints using PostgreSQL, NestJS, and the Drizzle ORM. Not-null constraint By default, SQL columns can hold nulls, representing an absence of value. We need the not-null constraint using the […]


API with NestJS #151. Implementing many-to-one relationships with Drizzle ORM

This entry is part 151 of 153 in the API with NestJS

Managing relationships between tables is a significant part of dealing with SQL databases. In this article, we continue learning to use Drizzle ORM with NestJS and implement many-to-one relationships. Check out this repository if you want to see the full code from this article. The many-to-one relationship With many-to-one relationships, a row from the first […]


API with NestJS #150. One-to-one relationships with the Drizzle ORM

This entry is part 150 of 153 in the API with NestJS

When building a database, the tables we set up often connect to each other. Managing these relationships is one of the crucial parts of working with databases. In the previous article, we learned how to use NestJS with Drizzle to set up a simple project with PostgreSQL. This time, we go further and write more […]

JavaScript React Testing

Drag and Drop with React. Writing E2E tests using Playwright

Web applications are becoming increasingly complex. While that’s the case, we must ensure the interface is intuitive and easy to use. By allowing our users to drag and drop elements across the screen, we can simplify many tasks, such as reordering lists or grouping items. In this article, we learn how to implement the drag-and-drop […]


JavaScript testing #18. E2E Playwright tests for uploading and downloading files

This entry is part 18 of 18 in the JavaScript testing tutorial

Our applications sometimes include features that allow users to select files from their hard drives, and some functionalities might let users download files. Implementing End-to-End tests that ensure that everything works as expected might not seem straightforward at first. In this article, we create a simple React application that lets users choose a JSON file […]

JavaScript Testing

JavaScript testing #17. Introduction to End-to-End testing with Playwright

This entry is part 17 of 18 in the JavaScript testing tutorial

With End-to-End testing (E2E), we test a fully working application where different parts of our application work together in real-life scenarios from start to finish. The End-to-End tests might also act as regression tests that check if our latest changes haven’t broken any previous features. We might also use them as smoke tests that ensure […]