mjblog.
Knowledge Sharing | Powered By Hashnode
Code Design: Chapter 4 - Coding Standards and Best Practices
Learn the best practices and clean code principles. - Introduction Coding standards and best practices are crucial for ensuring code quality, maintainability, and collaboration within development teams. Adhering to these practices not only helps developers write better code but also fosters a culture of...
Code Design: Chapter 3 - Architectural Patterns
Understand High-Level Design to create the suitable infrastructure for your solution. - Introduction Architectural patterns provide structured ways to design software systems, especially when dealing with complex applications. Each pattern addresses specific challenges related to scalability, maintainability, and flexibility, making the...
Code Design: Chapter 2 - Development Methodologies
Guide to Software Development Methodologies to create robust and scalable solution. - Introduction Software development methodologies help organize and optimize the process of building software. They shape how teams approach coding, testing, and collaboration, ultimately leading to higher-quality software with lower maintenance costs....
Code Design: Chapter 1 - Design Principles
Software Engineering Design Principles for clean, clear, and maintainable code. - Introduction Design principles are the fundamental rules that guide developers in writing clear, flexible, and maintainable code. These principles help prevent complexity, reduce errors, and make code easier to understand and adapt. Here are some of ...
Code Design - Introduction
the guide to build scalable, robust and readable software code. - In the fast-paced world of software development, building applications that can scale, adapt, and remain robust over time is no small feat. As systems grow in complexity, ensuring that code is readable, maintainable, and efficient is essential. This ...
Step-by-Step Guide to Creating a NodeJS/ExpressJS API Using Controller Pattern
Efficient API Design in NodeJS/ExpressJS with TypeScript Decorators - Introduction Abstraction is a core objective of programming language frameworks, including LaravelPHP, NestJS, and ASP.NET. These frameworks implement the MVC (Model-View-Controller) pattern, effectively abstracting HTTP handling, routing, and databa...
Create Authentication system with NodeJS, ExpressJS, TypeScript and Jest E2E testing -- PART 4.
GitHub Repo Part 1 Part 2 Part 3 Part 4 Testing We will implement End-to-End testing with Jest to test our API. We will test the email tokens as well, we will need those tokens to be able to test the API completely. For the testing we will use...
Create Authentication system with NodeJS, ExpressJS, TypeScript and Jest E2E testing -- PART 3.
GitHub Repo Part 1 Part 2 Part 3 Part 4 Auth Repository Finally, we arrived to the core logic of our project. Create now src/repositories/auth.repo.ts. In this file we gonna create a static methods class for our repo. Before that, Let's add some ot...
Create Authentication system with NodeJS, ExpressJS, TypeScript and Jest E2E testing -- PART 2.
GitHub Repo Part 1 Part 2 Part 3 Part 4 JWT Middleware Let's create the middleware to handle the authentications. Create this file src/middlewares/jwt.middleware.ts. This middleware takes the Authorization header (Bearer [token]) and get the t...
Create Authentication system with NodeJS, ExpressJS, TypeScript and Jest E2E testing -- PART 1.
GitHub Repo Part 1 Part 2 Part 3 Part 4 What we are building Introduction ExpressJS Web API with JWT full Auth System In this article, we will walk through the full process of building an ExpressJS API with JWT Authentication system, and E2E...
Vanilla Blog — Part 4 | Autoload & Namespace
Understanding Autoload and Namespaces in PHP - Other Parts: Intro Basic Router Controllers Advanced Router In PHP development, managing large projects with numerous classes and files can become challenging. However, two powerful features, autoload and namespaces, come to the rescue. Autolo...
Vanilla Blog — Part 3 | Advanced Router
Create a full-featured router with plain PHP. - Other Parts: Intro Basic Router Controllers Having covered the basics of routing, views, and controllers, we can now focus on refining our router to address its current limitations. There are two primary issues with the existing router: It can...