Skip to content

Instantly share code, notes, and snippets.

View erdum's full-sized avatar

Erdum erdum

View GitHub Profile
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Otp extends Model
{
use HasFactory;
@erdum
erdum / country_state.json
Created December 18, 2025 04:56 — forked from manishtiwari25/country_state.json
List Of Countries With States And Other Useful Information, Updated On 11/01/2025 00:36:43
[
{
"name": "Andorra",
"countryCode": "AD",
"countryCodeAlpha3": "AND",
"phone": "376",
"currency": "EUR",
"flag": "https://www.geonames.org/flags/x/ad.gif",
"symbol": "\u20AC",
"stateProvinces": [
@erdum
erdum / bytesToHuman.php
Created November 3, 2025 13:56
Bytes to Human Readable Formatter
<?php
function bytesToHuman($bytes)
{
$units = ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB'];
for ($i = 0; $bytes > 1024; $i++) {
$bytes /= 1024;
}
@erdum
erdum / geo-data.php
Last active July 10, 2025 06:20
Get User Region Data from Request IP
<?php
use Torann\GeoIP\Facades\GeoIP;
$location = GeoIP::getLocation(request()->ip());
@erdum
erdum / Video.php
Last active June 11, 2025 18:55
Video Utility class
<?php
namespace App\Utils;
use App\Exceptions;
use Illuminate\Support\Facades\Process;
class Video
{
public static function get_duration(string $video_path): string
@erdum
erdum / OtpService.php
Last active December 28, 2025 14:05
OTP abuse protection mechanism with versatile delivery option for Laravel
<?php
namespace App\Services;
use Illuminate\Support\Facades\Cache;
use App\Models\Otp;
use Carbon\Carbon;
class OtpService
{
@erdum
erdum / toast.html
Created October 7, 2024 07:42
Simple Toast
<div id="toast" class="hidden">
<span id="toast-message">Success message</span>
</div>
<script>
function showToast(message, type = 'success') {
const toast = document.getElementById('toast');
const toastMessage = document.getElementById('toast-message');
toastMessage.textContent = message;
@erdum
erdum / image-loader.html
Created September 1, 2024 06:54
Large image loader
<script>
const largeImageUrl = '/path/to/large-image.jpg';
const bodyElement = document.querySelector('body');
const largeImage = new Image();
largeImage.src = largeImageUrl;
largeImage.onload = () => {
bodyElement.style.backgroundImage = `url(${largeImageUrl})`;
};
</script>
@erdum
erdum / AssignRequestId.php
Last active July 23, 2024 07:16
Assign Requests ID Middleware
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class AssignRequestId
{
@erdum
erdum / RequestLogger.php
Last active May 13, 2024 07:45
Larvel Http Request logger Middleware
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Log;
class RequestLogger
{
/**