It was a long time ago I wanted to write this post and show you how to set up a docker-compose with all you need to have a separate logging system. Logging is a meaningful way to monitor your application’s behavior. When it comes to production and having multiple servers running one application in different instances, You might want to have a unified logging system to check them all in one place....
DBGate - OpenSource and Modern DB Client
DBGate is an open-source database client which has a modern UI. I am still checking it but one of the coolest features that I saw was the web application! You can install the web application on the server and then you have access to the database with an amazing client!
Get one link for all of your links!
iBio is a FREE and Open Source bio link generator project built with Laravel and Vue.js Visit the Website Source Code
Automated pipeline tests, version bumping and deployments with Gitlab
This is one of my favorite topics! Setting up a fully automated deployment. I want to share with you how to set up a fully automated deployment including tests and version bumping. I am using PHP and Laravel as the sample project but please keep in mind that this post is not limited to Laravel and PHP only! If you don’t want to read the post and jump to the Repo:...
Run PHPUnit tests, multiple times with different data sets
So most of you might know this, Specially you old-school PHP developers 🙂 but it’s not gonna fill the internet’s capacity so let me be happy by writing this post. You might have seen some PHPUnit tests with arguments! Have you asked yourself how it’s possible and who sends those arguments to these tests? The answer is simple! Data Providers With PHPUnit, you can define arguments for your test function, and in the DocBlock you mention that there is a data provider for this function, and inside that function just provide the data 🙂...
Convert picture to Tailwindcss
In this video, I’ll show you how you can simply convert a picture of a design to a Tailwindcss code
Run Laravel tests on GitHub Actions
Imagine yourself in a big team coding on a single project. In our scenario the project is Laravel. There would be tens of Pull Requests waiting to merge but you need to make sure that nothing goes wrong after the merge. Obviously, you’ll have tests in your project but it would be very tricky to go through the all PRs and run the tests on your local. GitHub Actions Thanks to GitHub there is a feature called Actions that comes in handy in this case....
Mysql auto backup to Dropbox
In this article, I’m gonna show you how you can easily configure an auto backup Mysql database to a Dropbox account using Mysqldump and Cron jobs on an Ubuntu server. Set up the Dropbox To store the backup files in Dropbox, You’ll need, of course, a Dropbox account and an API Key associated with it. Go to your Dropbox account and generate an API Key and save it. Backup Let’s make a backup with the mysqldump command:...
How to monitor Laravel application servers
Laravel Monitoring is a package by myself so you can monitor your Laravel application’s server resources like CPU, Disk, and Memory This package provides a beautiful dashboard with a fancy chart showing the server’s resource usage from one hour to a day. Multi-Server support The amazing part of this package which is my favorite part also, Is you can see monitor all of your servers in one place! For example, consider that you have several servers running the same source code....
Laravel Custom Helpers, Facades, and Testing Fakes
Let’s consider that we want to create a custom helper named SSH. This helper is going to connect to a remote server via ssh and execute some commands. Commands Since we might have many commands, I would create an interface first. // app/Commands/Command.php namespace App\SSHCommands; use App\Contracts\SSHCommand; interface Command { public function content(); } And then an example command. // app/Commands/DirectoryListCommand.php namespace App\SSHCommands; use App\Contracts\SSHCommand; class DirectoryListCommand implements Command { public function content() { return "ls -la"; } } Helper Alright....