Skip to content

Commit

Permalink
Merge pull request #3 from herkobi/dev
Browse files Browse the repository at this point in the history
Panel Beta 1
  • Loading branch information
bulentsakarya authored Jun 12, 2024
2 parents 3ea18d8 + 573301d commit fd1f03c
Show file tree
Hide file tree
Showing 739 changed files with 31,926 additions and 15,132 deletions.
60 changes: 33 additions & 27 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -2,35 +2,53 @@ APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_TIMEZONE=UTC
APP_URL=http://localhost

APP_LOCALE=en
APP_FALLBACK_LOCALE=en
APP_FAKER_LOCALE=en_US

APP_MAINTENANCE_DRIVER=file
APP_MAINTENANCE_STORE=database

BCRYPT_ROUNDS=12

LOG_CHANNEL=stack
LOG_STACK=single
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=panel
DB_USERNAME=root
DB_PASSWORD=
DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=herkobi
# DB_USERNAME=root
# DB_PASSWORD=

BROADCAST_DRIVER=log
CACHE_DRIVER=file
FILESYSTEM_DISK=local
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_ENCRYPT=false
SESSION_PATH=/
SESSION_DOMAIN=null

BROADCAST_CONNECTION=log
FILESYSTEM_DISK=local
QUEUE_CONNECTION=database

CACHE_STORE=database
CACHE_PREFIX=

MEMCACHED_HOST=127.0.0.1

REDIS_CLIENT=phpredis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_MAILER=smtp
MAIL_HOST=mailpit
MAIL_PORT=1025
MAIL_MAILER=log
MAIL_HOST=127.0.0.1
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
Expand All @@ -43,16 +61,4 @@ AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_HOST=
PUSHER_PORT=443
PUSHER_SCHEME=https
PUSHER_APP_CLUSTER=mt1

VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
VITE_PUSHER_HOST="${PUSHER_HOST}"
VITE_PUSHER_PORT="${PUSHER_PORT}"
VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
VITE_APP_NAME="${APP_NAME}"
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,3 @@ yarn-error.log
/.fleet
/.idea
/.vscode
_ide_helper.php
logornek.txt
7 changes: 0 additions & 7 deletions LICENSE.md

This file was deleted.

65 changes: 17 additions & 48 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,26 @@
# Herkobi Panel (Beta 1)

# Herkobi Panel
Laravel ile yeni bir projeye başlayacak kişiler için Laravel Fortify üzerine geliştirdiğimiz arayüze (https://github.com/bulentsakarya/laravel-10-fortify-ui), Spatie Permission eklentisini de ekleyerek hazır bir panel oluşturduk.
Laravel ile yeni bir projeye başlayacak kişiler için Laravel Fortify, Spatie Permission, rap2hpoutre/laravel-log-viewer ve Spatie Health paketlerini ekleyerek Tabler arayüzünü de kullanarak hazır bir panel oluşturduk.

Bu panel sayesinde kullanıcı yönetimi, yetki ve izin yönetimi gibi işlemleriniz hazır halde gelmektedir. Paneli indirdikten sonra sadece kendi sisteminizi yazmaya odaklanmanız yeterli.
Bu panel sayesinde kullanıcı yönetimi, etkinlik takibi, yetki ve izin yönetimi gibi işlemleriniz hazır halde gelmektedir. Paneli indirdikten sonra sadece kendi sisteminizi yazmaya odaklanmanız yeterli.

Tamamen açık kaynak olarak dağıttığımız sistemi rahatlıkla kullanabilirsiniz.
Ücretsiz ve açık kaynak olarak dağıttığımız sistemi test edip eksik ve hataları bildirirseniz seviniriz.

## Kullanılan Paketler

- [Laravel Fortify UI](https://github.com/bulentsakarya/laravel-10-fortify-ui)
- [Laravel Fortify](https://laravel.com/docs/10.x/fortify)
- [Spatie Permission](https://github.com/spatie/laravel-permission)
- [Spatie Laravel Activitylog](https://github.com/spatie/laravel-activitylog)
- [Php Flasher Notfy](https://github.com/php-flasher/flasher-notyf-laravel)
- [Laravel 10 Türkçe Dil Dosyaları](https://github.com/laravel-tr/Laravel10-lang)
- [jQuery 3.7.0](https://jquery.com/)
- [Bootstrap 5.3](https://github.com/twbs)
- [Simplebar](https://github.com/Grsmto/simplebar)
- [Remixicon](https://github.com/Remix-Design/RemixIcon)
- [Laravel Fortify](https://laravel.com/docs/10.x/fortify)
- [Tabler Arayüzü](https://tabler.io)
- [Spatie Permission](https://github.com/spatie/laravel-permission)
- [Spatie Laravel Activitylog](https://github.com/spatie/laravel-activitylog)
- [Spatie Laravel Health](https://github.com/spatie/laravel-health)
- [rap2hpoutre laravel Log Viewer](https://github.com/rap2hpoutre/laravel-log-viewer)

## Kurulum

Paketi indirdikten sonra seed'ler ile birlikte migrate etmeniz yeterlidir. Super Admin, Admin ve User yetkileri ve kullanıcıları otomatik tanımlanır.

### Kullanıcı Bilgileri

**Süper Admin Bilgileri**
Kullanıcı Adı: [email protected]
Şifre: password
Expand All @@ -36,41 +34,12 @@ Kullanıcı Adı: [email protected]
Şifre: password

### Yol Haritası
- Genel ayarlar sayfası yapılacak. Kullanıcı bazlı tari formatı, saat dilimi ve para birimi tanımlama, dil tanımlama ayarları yapılacak. Yöneticiler için ek olarak UserType=USER ve UserType=ADMIN için varsayılan yetki seçimleri yapılacak.
- Dil yönetim sistemi oluşturulacak.
- Kurulan loglama sistemi tüm modüllere eklenecek ve yapılan işleme göre açıklamaları özelleştirilecek
- Oturum bilgileri için detaylı loglama yapılacak
- Kullanıcı detay sayfasında ki yetkiler ve izinler sayfası düzenlenecek. Bu bölümden ek yetki ve özel izinler tanımalanacak
- Yönetici eklenirken izin alanı seçiminde seçilmiş olan yetkiye ait değerler otomatik seçili getirilecek
- Kullanıcı kategorileri sistemi yapılacak
- Kullanıcı/Yönetici listeleme sayfasında kullanıcı durumları işlenecek. Sayfa düzenlenecek.
- Kullanıcı detay sayfasında kullanıcının kendisine ait loglar gösterilecek
- Laravel logları super admin için görüntülenecek
- Profil sayfalarında Super Admin dışındaki tüm kullanıcılar için hesabı askıya alma ve dondurma işlemi yapılacak
- Kullanıcı detay sayfasında UserStatus değeri güncellenecek
- Blade dosyalarında izinler için gerekli kontroller yapılacak. Navigasyon kullanıcı türüne göre elden geçirilecek.
- Ana sayfa kullanıcılar, yöneticiler ve super admin için güncellenecek
- Kullanıcı detay sayfasında kullanıcıya not ekleme alanı eklenecek
- Yönetici tarafı admin guard'ına taşınacak

### Ekran Görüntüleri
![Üye Girişi](https://i.hizliresim.com/ga12pxb.png)

![Şifremi Unuttum](https://i.hizliresim.com/j6v5pxd.png)

![Üye Ol](https://i.hizliresim.com/bdtryfb.png)

![Panel Ana Sayfa](https://i.hizliresim.com/t1r5i16.png)

![Kullanıcılar](https://i.hizliresim.com/le41kim.png)

![Yöneticiler](https://i.hizliresim.com/cs12gl8.png)

![Yetkiler](https://i.hizliresim.com/p4fe4rv.png)

![İzinler](https://i.hizliresim.com/br9dldp.png)

![İzin Grupları](https://i.hizliresim.com/kf9gv55.png)
- Çeviriler tamamlanacak
- Dil yönetim sistemi oluşturulacak.
- Yedekleme sistemi dahil edilecek
- Kullanıcı bazlı özel yetkilendirme tanımlanacak

## Lisans

Herkobi Panel, MIT (https://opensource.org/license/mit/) lisansı ile lisanslanan açık kaynak bir yazılımdır.
34 changes: 34 additions & 0 deletions app/Actions/Admin/Accounts/Create.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?php

namespace App\Actions\Admin\Accounts;

use App\Events\Admin\Accounts\Created;
use App\Services\Admin\Accounts\Service;

class Create
{
protected $postService;

/**
* Kaydetme işlemi için gerekli Service bağımlılığı enjekte edilir.
*
* @param Service $postService
*/
public function __construct(Service $postService)
{
$this->postService = $postService;
}

/**
* Yeni bir kullanıcı oluşturur ve oluşturulan kullanıcıya ait olayı yayınlar.
*
* @param array $data Yeni kullanıcı verileri
* @return mixed Oluşturulan kullanıcı
*/
public function execute(array $data)
{
$user = $this->postService->create($data);
event(new Created($user));
return $user;
}
}
31 changes: 31 additions & 0 deletions app/Actions/Admin/Accounts/Detail/AuthLogs.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?php

namespace App\Actions\Admin\Accounts\Detail;

use App\Services\Admin\Accounts\Detail as Service;

class AuthLogs
{
protected $postService;

/**
* GetAll işlemi için gerekli Service bağımlılığı enjekte edilir.
*
* @param Service $postService
*/
public function __construct(Service $postService)
{
$this->postService = $postService;
}

/**
* Kullanıcıya ait oturum kayıtlarını getirir.
*
* @return mixed Oturum kayıtları listesi
*/
public function execute($id)
{
$auth = $this->postService->authLogs($id);
return $auth;
}
}
33 changes: 33 additions & 0 deletions app/Actions/Admin/Accounts/Detail/ChangeEmail.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?php

namespace App\Actions\Admin\Accounts\Detail;

use App\Events\Admin\Accounts\Detail\ChangedEmail;
use App\Services\Admin\Accounts\Detail as Service;

class ChangeEmail
{
protected $postService;

/**
* GetAll işlemi için gerekli Service bağımlılığı enjekte edilir.
*
* @param Service $postService
*/
public function __construct(Service $postService)
{
$this->postService = $postService;
}

/**
* Belirtilen kullanıcının e-posta adresini değiştirme.
*
* @return mixed E-posta adresi değişikliği
*/
public function execute($id, array $data)
{
$mail = $this->postService->changeEmail($id, $data);
event(new ChangedEmail($mail));
return $mail;
}
}
33 changes: 33 additions & 0 deletions app/Actions/Admin/Accounts/Detail/ChangePassword.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?php

namespace App\Actions\Admin\Accounts\Detail;

use App\Events\Admin\Accounts\Detail\ChangedPassword;
use App\Services\Admin\Accounts\Detail as Service;

class ChangePassword
{
protected $postService;

/**
* GetAll işlemi için gerekli Service bağımlılığı enjekte edilir.
*
* @param Service $postService
*/
public function __construct(Service $postService)
{
$this->postService = $postService;
}

/**
* Belirtilen kullanıcının şifresini değiştirme.
*
* @return mixed Şifre değişikliği
*/
public function execute($id, array $data)
{
$password = $this->postService->changePassword($id, $data);
event(new ChangedPassword($password));
return $password;
}
}
33 changes: 33 additions & 0 deletions app/Actions/Admin/Accounts/Detail/CheckEmail.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?php

namespace App\Actions\Admin\Accounts\Detail;

use App\Events\Admin\Accounts\Detail\CheckedEmail;
use App\Services\Admin\Accounts\Detail as Service;

class CheckEmail
{
protected $postService;

/**
* GetAll işlemi için gerekli Service bağımlılığı enjekte edilir.
*
* @param Service $postService
*/
public function __construct(Service $postService)
{
$this->postService = $postService;
}

/**
* Belirtilen kullanıcının e-posta adresini onaylama.
*
* @return mixed E-posta adresi onayı
*/
public function execute($id, array $data)
{
$mail = $this->postService->checkEmail($id, $data);
event(new CheckedEmail($mail));
return $mail;
}
}
35 changes: 35 additions & 0 deletions app/Actions/Admin/Accounts/Detail/ResetPassword.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?php

namespace App\Actions\Admin\Accounts\Detail;

use App\Events\Admin\Accounts\Detail\ResetedPassword;
use App\Services\Admin\Accounts\Detail as Service;

class ResetPassword
{
protected $postService;

/**
* GetAll işlemi için gerekli Service bağımlılığı enjekte edilir.
*
* @param Service $postService
*/
public function __construct(Service $postService)
{
$this->postService = $postService;
}

/**
* Belirtilen kullanıcının şifresini değiştirme.
*
* @return mixed Şifre değişikliği
*/
public function execute($id, array $data)
{
$result = $this->postService->resetPassword($id, $data);
$status = $result['status'];
$user = $result['user'];
event(new ResetedPassword($user));
return $status;
}
}
Loading

0 comments on commit fd1f03c

Please sign in to comment.