<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Raymond Baghumian</title>
    <description>The latest articles on DEV Community by Raymond Baghumian (@rayiumir).</description>
    <link>https://dev.to/rayiumir</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1282426%2F44767371-4d44-4795-a7af-9fb2fbb8979b.jpg</url>
      <title>DEV Community: Raymond Baghumian</title>
      <link>https://dev.to/rayiumir</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rayiumir"/>
    <language>en</language>
    <item>
      <title>AI can build your project and it can also ruin it.</title>
      <dc:creator>Raymond Baghumian</dc:creator>
      <pubDate>Sun, 22 Feb 2026 17:33:10 +0000</pubDate>
      <link>https://dev.to/rayiumir/ai-can-build-your-project-and-it-can-also-ruin-it-3i2k</link>
      <guid>https://dev.to/rayiumir/ai-can-build-your-project-and-it-can-also-ruin-it-3i2k</guid>
      <description>&lt;p&gt;At first, with precise prompts, it delivers modern, up-to-date code. But when it comes to refactoring and cleaning up, it may remove newer patterns without fully understanding the architecture, reverting the project back to older methods. This leads to increased technical debt, hidden bugs, and a codebase that becomes harder to maintain in the future.&lt;/p&gt;

&lt;p&gt;The problem isn’t the AI itself it’s the lack of architectural control and constraints. If you don’t clearly define the framework version, design patterns, architectural rules, and boundaries, the AI tends to oversimplify.&lt;/p&gt;

&lt;p&gt;Simply put:&lt;/p&gt;

&lt;p&gt;When you build a project with AI, the first version looks impressive modern methods, new patterns, sometimes even over-engineered in a good way.&lt;/p&gt;

&lt;p&gt;But when you move on to refactoring, code cleanup, optimization, and reducing complexity, that’s where things start to break. The AI loses the full context of the project. It removes modern dependencies, replaces structured abstractions with more generic (and sometimes outdated) patterns, and oversimplifies critical architectural layers.&lt;/p&gt;

&lt;p&gt;The result? The project still works but the architecture has quietly collapsed. And if this continues, even advanced prompting may not be enough to recover it.&lt;/p&gt;

&lt;p&gt;So if you’ve received a seemingly solid AI-generated project, you shouldn’t fully delegate maintenance, refactoring, clean coding, optimization, or architectural management to AI. The risk of unintended damage is high.&lt;/p&gt;

&lt;p&gt;At the end of the day, you as the developer are responsible for maintaining, refactoring, optimizing, and safeguarding the structure of your project.&lt;/p&gt;

&lt;p&gt;This was an experience I gained an interesting and valuable lesson.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>TaskPire - task management tool</title>
      <dc:creator>Raymond Baghumian</dc:creator>
      <pubDate>Sat, 20 Sep 2025 00:26:48 +0000</pubDate>
      <link>https://dev.to/rayiumir/taskpire-task-management-tool-5758</link>
      <guid>https://dev.to/rayiumir/taskpire-task-management-tool-5758</guid>
      <description>&lt;p&gt;&lt;strong&gt;TaskPire&lt;/strong&gt; is a &lt;strong&gt;task management tool&lt;/strong&gt; built with React and Vite. It offers a simple and intuitive interface for effectively managing daily tasks, tracking their progress, and boosting individual or team productivity. TaskPire is ideal for anyone looking to organize their work efficiently and easily monitor the progress of their projects.&lt;/p&gt;

&lt;p&gt;Features :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Displaying charts and reporting&lt;/li&gt;
&lt;li&gt;Create - Update - Manager Tasks - Download Reports&lt;/li&gt;
&lt;li&gt;Manager Users&lt;/li&gt;
&lt;li&gt;Create Task with Assigned To User&lt;/li&gt;
&lt;li&gt;Completed Tasks By Users&lt;/li&gt;
&lt;li&gt;It is based on self-hosting&lt;/li&gt;
&lt;li&gt;and ...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;GitHub:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Rayiumir/TaskPire" rel="noopener noreferrer"&gt;https://github.com/Rayiumir/TaskPire&lt;/a&gt;&lt;/p&gt;

</description>
      <category>task</category>
      <category>management</category>
      <category>tooling</category>
      <category>react</category>
    </item>
    <item>
      <title>Laravel Package : Easy creation with Laravel package</title>
      <dc:creator>Raymond Baghumian</dc:creator>
      <pubDate>Mon, 14 Apr 2025 11:33:22 +0000</pubDate>
      <link>https://dev.to/rayiumir/laravel-package-3lga</link>
      <guid>https://dev.to/rayiumir/laravel-package-3lga</guid>
      <description>&lt;p&gt;A &lt;a href="https://github.com/LaraPire/laravel-package" rel="noopener noreferrer"&gt;Laravel package&lt;/a&gt; generator that streamlines the process of creating standardized package structures. Quickly bootstrap your packages with a complete, well-organized structure and focus on building functionality rather than configuration.&lt;/p&gt;

&lt;p&gt;Features&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generates a complete Laravel package structure with a single command&lt;/li&gt;
&lt;li&gt;Creates standard Laravel package directories (config, migrations, views, etc.)&lt;/li&gt;
&lt;li&gt;Sets up composer.json with proper autoloading and dependencies&lt;/li&gt;
&lt;li&gt;Creates a Service Provider with common Laravel integrations pre-configured&lt;/li&gt;
&lt;li&gt;Includes testing setup with PHPUnit&lt;/li&gt;
&lt;li&gt;Generates license, readme, and other essential files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can install the package via composer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;composer require rayiumir/laravel-package
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After Publish Config Files:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan vendor:publish --provider="Rayiumir\LaravelPackage\ServiceProvider\PackageServiceProvider"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The service provider will be automatically registered for Laravel 5.5+. For older versions, add the service provider manually:&lt;/p&gt;

&lt;p&gt;// config/app.php&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;'providers' =&amp;gt; [
    Rayiumir\LaravelPackage\ServiceProvider\PackageServiceProvider::class,
];
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Usage&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Basic Usage&lt;/p&gt;

&lt;p&gt;Generate a new package with the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan make:package my-package
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will create a new package in the packages/my-package directory with the default vendor name.&lt;br&gt;
Customizing the Vendor Name&lt;/p&gt;

&lt;p&gt;You can specify a custom vendor name:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan make:package my-package --vendor=acme
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Including Tests&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To include PHPUnit test setup:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan make:package my-package --with-tests
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Generated Structure&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The generated package will have the following structure:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;packages/my-package/
├── config/
├── database/
│   └── migrations/
├── resources/
│   ├── lang/
│   └── views/
├── routes/
├── ServiceProvider/
│   └── PackageNameServiceProvider.php
├── tests/ (if --with-tests option is used)
│   ├── Feature/
│   ├── Unit/
│   └── TestCase.php
├── composer.json
├── LICENSE.md
├── README.md
└── phpunit.xml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next Steps After Generation&lt;/p&gt;

&lt;p&gt;After generating your package, you might want to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Edit the &lt;code&gt;composer.json&lt;/code&gt; file to update package details and requirements&lt;/li&gt;
&lt;li&gt;Modify the Service Provider to add any specific functionality&lt;/li&gt;
&lt;li&gt;Update the &lt;code&gt;README.md&lt;/code&gt; with your package documentation&lt;/li&gt;
&lt;li&gt;Add your migrations, routes, and views&lt;/li&gt;
&lt;li&gt;Create your package's main classes in the src directory&lt;/li&gt;
&lt;li&gt;If you used the --with-tests option, start writing tests for your package&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Local Development&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When developing the package locally within a Laravel application, you can add the repository to your application's composer.json:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"repositories": [
    {
        "type": "path",
        "url": "./packages/my-package"
    }
]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Testing Your Package&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you generated your package with the --with-tests option, you can run tests with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd packages/my-package
composer install
vendor/bin/phpunit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>laravelpackage</category>
      <category>laravel</category>
      <category>php</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Laravel Slugable</title>
      <dc:creator>Raymond Baghumian</dc:creator>
      <pubDate>Mon, 07 Apr 2025 20:07:39 +0000</pubDate>
      <link>https://dev.to/rayiumir/laravel-slugable-4f7c</link>
      <guid>https://dev.to/rayiumir/laravel-slugable-4f7c</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/Rayiumir/laravel-slugable" rel="noopener noreferrer"&gt;Laravel Slugable&lt;/a&gt;&lt;/strong&gt; is a lightweight Laravel trait that automatically generates slugs from model fields like &lt;code&gt;title&lt;/code&gt;, &lt;code&gt;name&lt;/code&gt;, or any custom source — and stores it in a customizable destination field such as &lt;code&gt;slug&lt;/code&gt;, etc.&lt;/p&gt;

&lt;p&gt;Perfect for blogs, e-commerce, CMS, or any app that needs clean, readable, SEO-friendly URLs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Auto-generate slug on model creation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Optional re-generation on model update&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Customizable source and destination fields&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No external dependencies&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Support for Persian and Arabic Numbers to slug&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;composer require rayiumir/laravel-slugable
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After Publish Files:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan vendor:publish --provider="Rayiumir\\Slugable\\ServiceProvider\\SlugableServiceProvider"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;How to use&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Calling &lt;code&gt;HasSlugable&lt;/code&gt; in Models &lt;code&gt;Post.php&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Post extends Model
{
    use HasSlugable;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Provided that the &lt;code&gt;title&lt;/code&gt; and &lt;code&gt;slug&lt;/code&gt; fields are in the database.&lt;/p&gt;

&lt;p&gt;If you want to use a custom field for slug generation, you can easily do that:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Post extends Model
{
    use HasSlugable;

    protected $slugSourceField = 'name';
    protected $slugDestinationField = 'slug';
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$post = new Post();
$post-&amp;gt;title = 'Laravel 12';
$post-&amp;gt;save();

echo $post-&amp;gt;slug; // Output: laravel-12
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1cung2xaj03p7hrk75kz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1cung2xaj03p7hrk75kz.png" alt="Image description" width="770" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Use This?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You don’t want to install a full package just for slug generation.&lt;/li&gt;
&lt;li&gt;You need quick setup and full control.&lt;/li&gt;
&lt;li&gt;You want to save time and avoid boilerplate logic in your models.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>laravel</category>
      <category>php</category>
      <category>laravelslug</category>
      <category>programming</category>
    </item>
    <item>
      <title>Laravel Metabox : Easy creation of custom fields for Laravel</title>
      <dc:creator>Raymond Baghumian</dc:creator>
      <pubDate>Sat, 22 Mar 2025 23:16:50 +0000</pubDate>
      <link>https://dev.to/rayiumir/laravel-metabox-easy-creation-of-custom-fields-for-laravel-58an</link>
      <guid>https://dev.to/rayiumir/laravel-metabox-easy-creation-of-custom-fields-for-laravel-58an</guid>
      <description>&lt;p&gt;If you have worked with WordPress, WordPress has a feature called custom metabox. The work of metabox in WordPress is that you create fields, you don’t need to create a database table related to its field. So the metabox itself has a special table that stores the received field data in key and value.&lt;/p&gt;

&lt;p&gt;Well, we brought this feature of WordPress metabox to Laravel.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Installs&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Install Package:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;composer require rayiumir/laravel-metabox
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After Publish Files:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan vendor:publish &lt;span class="nt"&gt;--provider&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"Rayiumir&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;LaravelMetabox&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;ServiceProvider&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;MetaboxServiceProvider"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And Migration Database:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan migrate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;How to use&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Calling &lt;code&gt;HasMetaboxes&lt;/code&gt; in Models &lt;code&gt;Post.php&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Rayiumir\LaravelMetabox\Traits\HasMetaboxes&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;HasMetaboxes&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To delete post metabox data, place the following function in &lt;code&gt;Post.php&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="k"&gt;protected&lt;/span&gt; &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;boot&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;parent&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;boot&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

    &lt;span class="k"&gt;static&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;deleting&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$post&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nv"&gt;$post&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;metaboxes&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nb"&gt;delete&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Read the following documentation to work with fields:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Rayiumir/laravel-metabox/blob/main/Documentation/en.md" rel="noopener noreferrer"&gt;Documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Rayiumir/laravel-metabox" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
      <category>metabox</category>
    </item>
    <item>
      <title>Library WireUI : Superseded FluxUI</title>
      <dc:creator>Raymond Baghumian</dc:creator>
      <pubDate>Thu, 12 Dec 2024 21:16:54 +0000</pubDate>
      <link>https://dev.to/rayiumir/about-library-wireui-32ha</link>
      <guid>https://dev.to/rayiumir/about-library-wireui-32ha</guid>
      <description>&lt;p&gt;A company Wireable has developed FluxUI library for Livewire and AlpineJS.&lt;/p&gt;

&lt;p&gt;But the interesting part is that in the tariff section of this library, the total facilities to be used are 649 dollars. This tariff upset programmers and developers and why is the tariff so high.&lt;/p&gt;

&lt;p&gt;Now, a Brazilian programmer has come with a pincer gas movement of the WireUI component library, which released FluxUI for free, which in short attacked the Wireable company, and now we can use WireUI instead of free FluxUI in projects.&lt;/p&gt;

&lt;p&gt;FluxUI :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://fluxui.dev/" rel="noopener noreferrer"&gt;https://fluxui.dev/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/livewire/flux" rel="noopener noreferrer"&gt;https://github.com/livewire/flux&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;WireUI :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://wireui.dev/" rel="noopener noreferrer"&gt;https://wireui.dev/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/wireui/wireui" rel="noopener noreferrer"&gt;https://github.com/wireui/wireui&lt;/a&gt;&lt;/p&gt;

</description>
      <category>livewire</category>
      <category>alpine</category>
    </item>
    <item>
      <title>Free Bootstrap 5 Admin Template - Ranger</title>
      <dc:creator>Raymond Baghumian</dc:creator>
      <pubDate>Mon, 20 May 2024 14:39:26 +0000</pubDate>
      <link>https://dev.to/rayiumir/free-bootstrap-5-admin-template-ranger-49a9</link>
      <guid>https://dev.to/rayiumir/free-bootstrap-5-admin-template-ranger-49a9</guid>
      <description>&lt;p&gt;I created an Admin Panel project with Bootstrap 5 that you can use easily in your projects.&lt;/p&gt;

&lt;p&gt;A Admin Panel Simple and Efficient for is Creating Page Admin with bootstrap 5.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp8m2aakg81jgvaezr80q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp8m2aakg81jgvaezr80q.png" alt="Image description" width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;URL Github :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Rayiumir/Ranger"&gt;https://github.com/Rayiumir/Ranger&lt;/a&gt;&lt;/p&gt;

</description>
      <category>bootstrap</category>
      <category>admin</category>
      <category>panel</category>
    </item>
    <item>
      <title>Creating Custom Validation Rules in Laravel</title>
      <dc:creator>Raymond Baghumian</dc:creator>
      <pubDate>Sun, 21 Apr 2024 23:52:32 +0000</pubDate>
      <link>https://dev.to/rayiumir/creating-custom-validation-rules-in-laravel-48ec</link>
      <guid>https://dev.to/rayiumir/creating-custom-validation-rules-in-laravel-48ec</guid>
      <description>&lt;p&gt;by default we using request laravel which validates user input data.&lt;/p&gt;

&lt;p&gt;but we want Create Custom Validation rules which by default request validation we don't use.&lt;/p&gt;

&lt;p&gt;with under command create two file ValiMobile and ValiPassword:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan make:rule ValidMobile
php artisan make:rule ValidPassword
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I got for Regex from site under helping.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://ihateregex.io/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Code VailMobile :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class ValidMobile implements ValidationRule
{
    public function __construct()
    {
        //
    }
    public function passes($attribute, $value): bool|int
    {
        return preg_match('/^9[0-9]{9}$/', $value);
    }

    public function validate(string $attribute, mixed $value, Closure $fail): void
    {
        if (!preg_match('/^9[0-9]{9}$/', $value)) {
            $fail('Your ' . $attribute . 'number is 10 digits and enter without zero.');
        }
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Code VailPassword :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class ValidPassword implements ValidationRule
{
    public function __construct()
    {
        //
    }
    public function passes($attribute, $value): bool|int
    {
        return preg_match('/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$ %^&amp;amp;*-]).{8,}$/', $value);
    }

    public function validate(string $attribute, mixed $value, Closure $fail): void
    {
        if (!preg_match('/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$ %^&amp;amp;*-]).{8,}$/', $value)) {
            $fail('The type of'  . $attribute .  'is inappropriate and must be a combination of uppercase, lowercase letters and numbers.');
        }
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;at the end Calling Two File VailMobile and VailPassword:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;use App\Rules\ValidMobile;
use App\Rules\ValidPassword;

return Validator::make($data,
   [
      'mobile' =&amp;gt; ['nullable', 'string', 'unique:users', new ValidMobile()],
      'password' =&amp;gt; ['required', 'string', 'confirmed', new ValidPassword()],
   ]
);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Good luck :)&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
    </item>
    <item>
      <title>Install and Run Image Intervention in Laravel</title>
      <dc:creator>Raymond Baghumian</dc:creator>
      <pubDate>Tue, 26 Mar 2024 21:47:02 +0000</pubDate>
      <link>https://dev.to/rayiumir/install-and-run-image-intervention-in-laravel-5dn7</link>
      <guid>https://dev.to/rayiumir/install-and-run-image-intervention-in-laravel-5dn7</guid>
      <description>&lt;p&gt;When presenting version 3, the Image Intervention package has seen many changes. codes from version 2 are not compatible with version 3 and need to be changed.&lt;/p&gt;

&lt;p&gt;OK.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install Package Image Intervention :
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;composer require intervention/image
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;in users table, create image field :
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$table-&amp;gt;string('image')-&amp;gt;nullable();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Creating Field image :
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;div class="col-12"&amp;gt;
    &amp;lt;label for="input8" class="form-label"&amp;gt;Upload image&amp;lt;/label&amp;gt;
    &amp;lt;input type="file" name="image" class="form-control rounded-5 @error('image') is-invalid @enderror" id="input8"&amp;gt;
    @error('image')
       &amp;lt;span class="invalid-feedback" role="alert"&amp;gt;
          &amp;lt;strong&amp;gt;{{ $message }}&amp;lt;/strong&amp;gt;
       &amp;lt;/span&amp;gt;
    @enderror
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;in windows, enable imagick.so xampp extension. in linux Enter the following commands :
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt install php-imagick
php -m | grep imagick
sudo systemctl restart apache2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Creating Function saveImage in User.php :
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;use Intervention\Image\ImageManager;

public static function saveImage($file)
{
        if ($file){
            $name = $file-&amp;gt;hashName();

            $smallImage = ImageManager::imagick()-&amp;gt;read($file-&amp;gt;getRealPath());
            $bigImage = ImageManager::imagick()-&amp;gt;read($file-&amp;gt;getRealPath());
            $smallImage-&amp;gt;resize(256, 256, function ($constraint){
                $constraint-&amp;gt;aspectRatio();
            });

            Storage::disk('local')-&amp;gt;put('users/small/'.$name, (string) $smallImage-&amp;gt;encodeByMediaType('image/jpeg', 90));
            Storage::disk('local')-&amp;gt;put('users/big/'.$name, (string) $bigImage-&amp;gt;encodeByMediaType('image/jpeg', 90));

            return $name;

        }else{
            return "";
        }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Function Store in UserController.php :
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public function store(Request $request)
{
        $image = User::saveImage($request-&amp;gt;image);

        User::query()-&amp;gt;create([
            'name' =&amp;gt; $request-&amp;gt;name,
            'email' =&amp;gt; $request-&amp;gt;email,
            'password' =&amp;gt; bcrypt($request-&amp;gt;password),
            'image' =&amp;gt; $image,
        ]);

        return to_route('users.index');
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;in config/filesystem.php Enter the following codes :
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;'local' =&amp;gt; 
[
   'driver' =&amp;gt; 'local',
   'root' =&amp;gt; public_path('images'),
   'throw' =&amp;gt; false,
],
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Show user's image :
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@foreach($users as $index=&amp;gt;$row)
&amp;lt;figure&amp;gt;
       &amp;lt;img src="{{asset('images/users/small/' .$row-&amp;gt;image)}}" class="rounded-4" width="52px"&amp;gt;
&amp;lt;/figure&amp;gt;
@endforeach
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Good luck. :)&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>image</category>
      <category>php</category>
      <category>developer</category>
    </item>
    <item>
      <title>Remove Snap Linux Ubuntu</title>
      <dc:creator>Raymond Baghumian</dc:creator>
      <pubDate>Sat, 09 Mar 2024 21:16:20 +0000</pubDate>
      <link>https://dev.to/rayiumir/no-to-snap-linux-ubuntu-1j7a</link>
      <guid>https://dev.to/rayiumir/no-to-snap-linux-ubuntu-1j7a</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is Ubuntu Snap?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ubuntu Created Snap which Developers Can Apps in Store Snap Upload and publish.&lt;/p&gt;

&lt;p&gt;Users Can Apps with A Snap Command Download and Installed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Problem using of Snap&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A Flaw That Snap has When Install App a Loop on Service Systemd Created. It Puts Pressure When booting on SSD. This Will Causes Ubuntu to not run.&lt;/p&gt;

&lt;p&gt;Many Ubuntu Linux users they experienced this problem. better to try Linux Mint.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Remove Snap Ubuntu&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;if you are using Ubuntu Linux, you can remove snap.&lt;/p&gt;

&lt;p&gt;A File .sh create. Enter the following Commands into the file and run the file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo touch  snapremover.sh
sudo chmod +x snapremover.sh
sudo ./snapremover.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Commands:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#!/bin/bash
# List installed snap packages
snap list

# Remove installed snap packages (optional)
sudo snap remove chromium snap-store

# Stop snapd service
#!/bin/bash

# List installed snap packages
snap list

# Remove installed snap packages (optional)
sudo snap remove chromium snap-store

# Stop snapd service
sudo systemctl stop snapd

# Add services to sop
sudo systemctl mask snapd.aa-prompt-listener.service
sudo systemctl mask snapd.mounts-pre.target
sudo systemctl mask snapd.snap-repair.service
sudo systemctl mask snapd.apparmor.service
sudo systemctl mask snapd.mounts.target
sudo systemctl mask snapd.snap-repair.timer
sudo systemctl mask snapd.autoimport.service
sudo systemctl mask snapd.recovery-chooser-trigger.service
sudo systemctl mask snapd.socket
sudo systemctl mask snapd.core-fixup.service
sudo systemctl mask snapd.seeded.service
sudo systemctl mask snapd.system-shutdown.service
sudo systemctl mask snapd.failure.service
sudo systemctl mask snapd.service

# Uninstall snapd using apt
sudo apt remove --purge --assume-yes snapd gnome-software-plugin-snap

# Remove user snap directory
rm -rf ~/snap/

# Remove cache directory for snapd
sudo rm -rf /var/cache/snapd/

# Uninstall snapd using apt
sudo apt remove --purge --assume-yes snapd gnome-software-plugin-snap
sudo apt autoremove


# Uninstall snapd using dnf (for Fedora) or yum (for RHEL, CentOS)
#sudo dnf remove --assumeyes snapd gnome-software-plugin-snap || sudo yum remove --assumeyes snapd gnome-software-plugin-snap

# Uninstall snapd using pacman
#sudo pacman -Rns --noconfirm snapd

# Remove user snap directory
rm -rf ~/snap/
rm -rf /snap

# Remove cache directory for snapd
sudo rm -rf /var/lib/snapd
sudo rm -rf /var/cache/snapd

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>linux</category>
      <category>ubuntu</category>
      <category>snap</category>
    </item>
    <item>
      <title>Learning Path For Web Development</title>
      <dc:creator>Raymond Baghumian</dc:creator>
      <pubDate>Fri, 16 Feb 2024 12:35:26 +0000</pubDate>
      <link>https://dev.to/rayiumir/learning-path-for-web-development-284k</link>
      <guid>https://dev.to/rayiumir/learning-path-for-web-development-284k</guid>
      <description>&lt;p&gt;Most of those who want to enter the field of web development and at the beginning of it are confused about what path is suitable for web development.&lt;/p&gt;

&lt;p&gt;here defined path that suitable be web development.&lt;/p&gt;

&lt;p&gt;I suggest PHP for beginners.&lt;/p&gt;

&lt;p&gt;Path 1 : PHP/Laravel&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Languages : HTML, CSS, JavaScript, PHP

Frameworks or Library : Bootstrap or Tailwind, VueJS, Livewire, ReactJS
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Path 2 : PHP/Wordpress&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Languages : HTML, CSS, JavaScript, PHP

Frameworks or Library : Bootstrap or Tailwind, ReactJS , jQuery
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I wrote those two paths and choose one.&lt;/p&gt;

&lt;p&gt;good luck.&lt;/p&gt;

</description>
      <category>php</category>
      <category>laravel</category>
      <category>javascript</category>
      <category>react</category>
    </item>
  </channel>
</rss>
