Day: July 31, 2023

NestJS

API with NestJS #118. Uploading and streaming videos

This entry is part 118 of 187 in the API with NestJS

Nowadays, video streaming is one of the main ways of consuming and sharing content. In this article, we explore the fundamental concepts of building a REST API for uploading videos to the server and streaming them using NestJS and Prisma. Check out this repository if you want to see the full code from this article. […]

JavaScript Node.js

Introduction to managing a private NPM registry with Verdaccio

An organization often develops more than one project. Since the projects are often part of a more extensive ecosystem, this could lead to duplicating some of the code. To deal with this problem, we can create JavaScript libraries that we can reuse across various projects. The most straightforward way of maintaining packages available in all […]

NestJS Security

API with NestJS #117. CORS – Cross-Origin Resource Sharing

This entry is part 117 of 187 in the API with NestJS

Cross-Origin Resource Sharing (CORS) is a mechanism for disallowing or allowing resources to be requested from another origin. It is built into web browsers and determines whether it is safe to allow a cross-origin request based on HTTP headers. In this article, we explain the CORS mechanism and use it with a NestJS application. What […]

NestJS

API with NestJS #116. REST API versioning

This entry is part 116 of 187 in the API with NestJS

The requirements of web applications constantly evolve, and so do the REST APIs they use. With the rise of the popularity of distributed systems and microservices, maintaining backward compatibility is increasingly important. Even if we maintain a monolithic architecture, there is a good chance that our frontend has a separate deployment pipeline. In this article, […]

NestJS SQL

API with NestJS #115. Database migrations with Prisma

This entry is part 115 of 187 in the API with NestJS

One of the characteristics of relational databases is a strict data structure. We need to specify the shape of every table with its fields, indexes, and relationships. Even if we design our database carefully, the requirements that our application must meet are changing. Because of that, our database needs to evolve as well. When restructuring […]