<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0">

<channel>
	<title>Web Source Blog</title>
	<atom:link href="http://www.websourceblog.com/feed/" rel="self" type="application/rss+xml"/>
	<link>https://www.websourceblog.com</link>
	<description>tutorials and code snippets</description>
	<lastBuildDate>Tue, 12 May 2026 19:48:57 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><item>
		<title>Centralizing Email Logging in Laravel with a Custom EmailLogChannel</title>
		<link>https://www.websourceblog.com/2026/05/centralizing-email-logging-in-laravel-with-a-custom-emaillogchannel/</link>
					<comments>https://www.websourceblog.com/2026/05/centralizing-email-logging-in-laravel-with-a-custom-emaillogchannel/#respond</comments>
		
		<dc:creator><![CDATA[websourceblog]]></dc:creator>
		<pubDate>Mon, 11 May 2026 22:11:14 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Centralizing Email Logging in Laravel]]></category>
		<category><![CDATA[Email Logging]]></category>
		<category><![CDATA[laravel]]></category>
		<category><![CDATA[Laravel 12]]></category>
		<category><![CDATA[Log Emails]]></category>
		<guid isPermaLink="false">https://www.websourceblog.com/?p=1746</guid>

					<description><![CDATA[When building real-world Laravel applications, email handling quickly becomes scattered. You send emails from controllers, jobs, listeners, notifications… and suddenly, logging those emails (for debugging, auditing, or compliance) turns into repetitive boilerplate everywhere. A&#46;&#46;&#46;]]></description>
										<content:encoded><![CDATA[<p>When building real&#x2d;world Laravel applications, email handling quickly becomes scattered. You send emails from controllers, jobs, listeners, notifications&hellip; and suddenly, logging those emails (for debugging, auditing, or compliance) turns into repetitive boilerplate everywhere. A cleaner approach? Create a custom mail channel that logs every email from a single place. In this post, we&rsquo;&#8230;</p>
<p><a href="https://www.websourceblog.com/2026/05/centralizing-email-logging-in-laravel-with-a-custom-emaillogchannel/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://www.websourceblog.com/2026/05/centralizing-email-logging-in-laravel-with-a-custom-emaillogchannel/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Clean, Powerful API Filtering with Spatie Query Builder</title>
		<link>https://www.websourceblog.com/2026/03/clean-powerful-api-filtering-with-spatie-query-builder/</link>
					<comments>https://www.websourceblog.com/2026/03/clean-powerful-api-filtering-with-spatie-query-builder/#respond</comments>
		
		<dc:creator><![CDATA[websourceblog]]></dc:creator>
		<pubDate>Fri, 20 Mar 2026 01:36:49 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Custom filter]]></category>
		<category><![CDATA[how to add menu items]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[laravel]]></category>
		<category><![CDATA[Laravel 12]]></category>
		<category><![CDATA[query builder]]></category>
		<category><![CDATA[Spatie Laravel Query Builder]]></category>
		<category><![CDATA[Spatie Query Builder]]></category>
		<guid isPermaLink="false">https://www.websourceblog.com/?p=1734</guid>

					<description><![CDATA[Build flexible, readable, and secure query filters across multiple Laravel models — no more bloated controllers. Why Spatie Query Builder? If you&#8217;ve built a Laravel API, you&#8217;ve almost certainly written something like this in&#46;&#46;&#46;]]></description>
										<content:encoded><![CDATA[<p>Build flexible, readable, and secure query filters across multiple Laravel models &mdash; no more bloated controllers. If you&rsquo;ve built a Laravel API, you&rsquo;ve almost certainly written something like this in a controller: It works, but it grows fast. New filters mean more blocks. Sorting is unsafe without a whitelist. Relations add even more complexity. Controllers end up doing far too&#8230;</p>
<p><a href="https://www.websourceblog.com/2026/03/clean-powerful-api-filtering-with-spatie-query-builder/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://www.websourceblog.com/2026/03/clean-powerful-api-filtering-with-spatie-query-builder/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AI Prompt Engineering Bible (7 Books in 1) – Master ChatGPT &amp; Generative AI</title>
		<link>https://www.websourceblog.com/2025/09/ai-prompt-engineering-bible-7-books-in-1-master-chatgpt-generative-ai/</link>
					<comments>https://www.websourceblog.com/2025/09/ai-prompt-engineering-bible-7-books-in-1-master-chatgpt-generative-ai/#respond</comments>
		
		<dc:creator><![CDATA[websourceblog]]></dc:creator>
		<pubDate>Mon, 29 Sep 2025 14:25:34 +0000</pubDate>
				<category><![CDATA[Misc.]]></category>
		<category><![CDATA[AI monetization strategies]]></category>
		<category><![CDATA[AI Prompt Engineering Bible]]></category>
		<category><![CDATA[AI prompt toolkit PDF]]></category>
		<category><![CDATA[best books for prompt engineering]]></category>
		<category><![CDATA[ChatGPT prompt engineering book]]></category>
		<category><![CDATA[generative AI books 2025]]></category>
		<category><![CDATA[how to master ChatGPT prompts]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[Midjourney prompt guide]]></category>
		<guid isPermaLink="false">https://www.websourceblog.com/?p=1727</guid>

					<description><![CDATA[Artificial Intelligence is transforming how we work, create, and earn. But most people get stuck because they don’t know how to communicate with AI effectively. That’s where the AI Prompt Engineering Bible (7 Books&#46;&#46;&#46;]]></description>
										<content:encoded><![CDATA[<p>Artificial Intelligence is transforming how we work, create, and earn. But most people get stuck because they don&rsquo;t know how to communicate with AI effectively. That&rsquo;s where the AI Prompt Engineering Bible (7 Books in 1) comes in. This book gives you a step&#x2d;by&#x2d;step framework, 500+ ready&#x2d;to&#x2d;use prompts, and proven strategies to master ChatGPT, Midjourney, and other Generative AI tools.</p>
<p><a href="https://www.websourceblog.com/2025/09/ai-prompt-engineering-bible-7-books-in-1-master-chatgpt-generative-ai/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://www.websourceblog.com/2025/09/ai-prompt-engineering-bible-7-books-in-1-master-chatgpt-generative-ai/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How Digital Transformation Services Drive Business Growth</title>
		<link>https://www.websourceblog.com/2025/09/how-digital-transformation-services-drive-business-growth/</link>
					<comments>https://www.websourceblog.com/2025/09/how-digital-transformation-services-drive-business-growth/#respond</comments>
		
		<dc:creator><![CDATA[websourceblog]]></dc:creator>
		<pubDate>Tue, 23 Sep 2025 21:02:31 +0000</pubDate>
				<category><![CDATA[Misc.]]></category>
		<category><![CDATA[Design and Development services]]></category>
		<category><![CDATA[digital transformation]]></category>
		<category><![CDATA[IT Support Services]]></category>
		<category><![CDATA[laravel]]></category>
		<category><![CDATA[Outsource your Design]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://www.websourceblog.com/?p=1722</guid>

					<description><![CDATA[In today’s fast-paced world, businesses can no longer rely solely on traditional methods to stay competitive. Digital transformation has become the key driver for growth, efficiency, and customer engagement. From automation and cloud computing&#46;&#46;&#46;]]></description>
										<content:encoded><![CDATA[<p>In today&rsquo;s fast&#x2d;paced world, businesses can no longer rely solely on traditional methods to stay competitive. Digital transformation has become the key driver for growth, efficiency, and customer engagement. From automation and cloud computing to data analytics and AI&#x2d;driven solutions, companies across industries are embracing technology to strengthen their operations and deliver seamless&#8230;</p>
<p><a href="https://www.websourceblog.com/2025/09/how-digital-transformation-services-drive-business-growth/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://www.websourceblog.com/2025/09/how-digital-transformation-services-drive-business-growth/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Add an Addon Domain in GoDaddy with Web Hosting Deluxe</title>
		<link>https://www.websourceblog.com/2025/08/how-to-add-an-addon-domain-in-godaddy-with-web-hosting-deluxe/</link>
					<comments>https://www.websourceblog.com/2025/08/how-to-add-an-addon-domain-in-godaddy-with-web-hosting-deluxe/#respond</comments>
		
		<dc:creator><![CDATA[websourceblog]]></dc:creator>
		<pubDate>Wed, 13 Aug 2025 14:53:16 +0000</pubDate>
				<category><![CDATA[Misc.]]></category>
		<category><![CDATA[Add external domain to GoDaddy hosting]]></category>
		<category><![CDATA[GoDaddy addon domain setup]]></category>
		<category><![CDATA[GoDaddy cPanel addon domain]]></category>
		<category><![CDATA[Host multiple domains on GoDaddy Deluxe]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[Web Hosting Deluxe addon domain]]></category>
		<guid isPermaLink="false">https://www.websourceblog.com/?p=1711</guid>

					<description><![CDATA[Add an Addon Domain in GoDaddy with Web Hosting Deluxe (Step-by-Step Guide). If you are using GoDaddy Web Hosting Deluxe, you might notice that there is no “Addon Domain” option under the Domains section&#46;&#46;&#46;]]></description>
										<content:encoded><![CDATA[<p>Add an Addon Domain in GoDaddy with Web Hosting Deluxe (Step&#x2d;by&#x2d;Step Guide). If you are using GoDaddy Web Hosting Deluxe, you might notice that there is no &ldquo;Addon Domain&rdquo; option under the Domains section in your hosting dashboard. This can be confusing if you have a domain registered with another registrar and want to host it on your GoDaddy Deluxe plan as an addon domain.</p>
<p><a href="https://www.websourceblog.com/2025/08/how-to-add-an-addon-domain-in-godaddy-with-web-hosting-deluxe/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://www.websourceblog.com/2025/08/how-to-add-an-addon-domain-in-godaddy-with-web-hosting-deluxe/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Developing a RESTful API with Node.js, Express.js, MongoDB, and TypeScript</title>
		<link>https://www.websourceblog.com/2025/05/developing-a-restful-api-with-node-js-express-js-mongodb-and-typescript/</link>
					<comments>https://www.websourceblog.com/2025/05/developing-a-restful-api-with-node-js-express-js-mongodb-and-typescript/#respond</comments>
		
		<dc:creator><![CDATA[websourceblog]]></dc:creator>
		<pubDate>Fri, 30 May 2025 21:18:53 +0000</pubDate>
				<category><![CDATA[Misc.]]></category>
		<category><![CDATA[CRUD API with TypeScript]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[Mongoose TypeScript setup]]></category>
		<category><![CDATA[Node.js MongoDB tutorial]]></category>
		<category><![CDATA[REST API TypeScript]]></category>
		<category><![CDATA[TypeScript Express API]]></category>
		<guid isPermaLink="false">https://www.websourceblog.com/?p=1689</guid>

					<description><![CDATA[The ability to create reliable APIs is essential in today&#8217;s web development environment. I&#8217;ll show you how to create a RESTful API in this post that stores and retrieves data using Node.js, Express.js, MongoDB,&#46;&#46;&#46;]]></description>
										<content:encoded><![CDATA[<p>The ability to create reliable APIs is essential in today&rsquo;s web development environment. I&rsquo;ll show you how to create a RESTful API in this post that stores and retrieves data using Node.js, Express.js, MongoDB, and TypeScript. Requirements: Before we start, please ensure that you have: Step 1: Setting Up the Project First, let&rsquo;s initialize our Node.js project&#8230;</p>
<p><a href="https://www.websourceblog.com/2025/05/developing-a-restful-api-with-node-js-express-js-mongodb-and-typescript/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://www.websourceblog.com/2025/05/developing-a-restful-api-with-node-js-express-js-mongodb-and-typescript/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>XML in REST API response and SOAP XML.</title>
		<link>https://www.websourceblog.com/2024/12/xml-in-rest-api-response-and-soap-xml/</link>
					<comments>https://www.websourceblog.com/2024/12/xml-in-rest-api-response-and-soap-xml/#respond</comments>
		
		<dc:creator><![CDATA[websourceblog]]></dc:creator>
		<pubDate>Wed, 25 Dec 2024 18:58:40 +0000</pubDate>
				<category><![CDATA[Misc.]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[rest api]]></category>
		<category><![CDATA[restful api]]></category>
		<category><![CDATA[soap]]></category>
		<category><![CDATA[xml]]></category>
		<guid isPermaLink="false">https://www.websourceblog.com/?p=1679</guid>

					<description><![CDATA[The difference between XML that we get in response to any REST API and XML response from SOAP API lies in the underlying protocol, design, and structure of the API. Here’s a breakdown of&#46;&#46;&#46;]]></description>
										<content:encoded><![CDATA[<p>The difference between XML that we get in response to any REST API and XML response from SOAP API lies in the underlying protocol, design, and structure of the API. Here&rsquo;s a breakdown of the differences: Definition and Nature: Data Format: The entire SOAP envelope follows a predefined structure: Structure: Transport Protocol&#8230;</p>
<p><a href="https://www.websourceblog.com/2024/12/xml-in-rest-api-response-and-soap-xml/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://www.websourceblog.com/2024/12/xml-in-rest-api-response-and-soap-xml/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to install and configure Apache2 on WSL2?</title>
		<link>https://www.websourceblog.com/2024/09/how-to-install-and-configure-apache2-on-wsl2/</link>
					<comments>https://www.websourceblog.com/2024/09/how-to-install-and-configure-apache2-on-wsl2/#respond</comments>
		
		<dc:creator><![CDATA[websourceblog]]></dc:creator>
		<pubDate>Mon, 02 Sep 2024 20:35:01 +0000</pubDate>
				<category><![CDATA[Misc.]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[configure apache2]]></category>
		<category><![CDATA[how to apache2]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[setup apache2]]></category>
		<category><![CDATA[wsl2]]></category>
		<guid isPermaLink="false">https://www.websourceblog.com/?p=1671</guid>

					<description><![CDATA[I hope you already have WSL2 installed and enabled. So, setting up Apache2 on WSL2 (Windows Subsystem for Linux 2) involves a few steps. Below are the detailed instructions to install and configure Apache2&#46;&#46;&#46;]]></description>
										<content:encoded><![CDATA[<p>I hope you already have WSL2 installed and enabled. So, setting up Apache2 on WSL2 (Windows Subsystem for Linux 2) involves a few steps. Below are the detailed instructions to install and configure Apache2 on WSL2: Optional Configurations: If you want to make any change in configuration file like change port or projects directory, then you can find it on following path.</p>
<p><a href="https://www.websourceblog.com/2024/09/how-to-install-and-configure-apache2-on-wsl2/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://www.websourceblog.com/2024/09/how-to-install-and-configure-apache2-on-wsl2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to install NVM on Windows?</title>
		<link>https://www.websourceblog.com/2024/07/how-to-install-nvm-on-windows/</link>
					<comments>https://www.websourceblog.com/2024/07/how-to-install-nvm-on-windows/#respond</comments>
		
		<dc:creator><![CDATA[websourceblog]]></dc:creator>
		<pubDate>Thu, 18 Jul 2024 21:22:23 +0000</pubDate>
				<category><![CDATA[Misc.]]></category>
		<category><![CDATA[how to install nvm on windows]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[install nvm]]></category>
		<category><![CDATA[install nvm on windows]]></category>
		<category><![CDATA[nodejs]]></category>
		<category><![CDATA[nvm]]></category>
		<category><![CDATA[nvm installation]]></category>
		<category><![CDATA[windows]]></category>
		<guid isPermaLink="false">https://www.websourceblog.com/?p=1653</guid>

					<description><![CDATA[Install NVM on Windows Node Js is a JavaScript runtime environment used widely in today’s web application development. If we are working on different Node Js projects then there might be a chance to&#46;&#46;&#46;]]></description>
										<content:encoded><![CDATA[<p>Install NVM on Windows Node Js is a JavaScript runtime environment used widely in today&rsquo;s web application development. If we are working on different Node Js projects then there might be a chance to have different versions for each project. To handle different versions, there is a software Node Version Manager also known as NVM, by this we can install different versions on our system and use&#8230;</p>
<p><a href="https://www.websourceblog.com/2024/07/how-to-install-nvm-on-windows/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://www.websourceblog.com/2024/07/how-to-install-nvm-on-windows/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to reset WSL 2 user’s password?</title>
		<link>https://www.websourceblog.com/2024/03/how-to-reset-wsl-2-users-password/</link>
					<comments>https://www.websourceblog.com/2024/03/how-to-reset-wsl-2-users-password/#respond</comments>
		
		<dc:creator><![CDATA[websourceblog]]></dc:creator>
		<pubDate>Thu, 14 Mar 2024 21:11:24 +0000</pubDate>
				<category><![CDATA[Misc.]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[reset password]]></category>
		<category><![CDATA[wsl2]]></category>
		<guid isPermaLink="false">https://www.websourceblog.com/?p=1597</guid>

					<description><![CDATA[You can easily reset WSL 2 users&#8217; password, by just following the following steps. You will be asked to enter the password twice and password will not be appear on screen/terminal. Following is the&#46;&#46;&#46;]]></description>
										<content:encoded><![CDATA[<p>You can easily reset WSL 2 users&rsquo; password, by just following the following steps. You will be asked to enter the password twice and password will not be appear on screen/terminal. Following is the image for reference. Hope this will help!</p>
<p><a href="https://www.websourceblog.com/2024/03/how-to-reset-wsl-2-users-password/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://www.websourceblog.com/2024/03/how-to-reset-wsl-2-users-password/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>