jauhar / jtech
jtech-framework
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:project
pkg:composer/jauhar/jtech
Requires
- jauhar/j-tech-framework: v1.0.8
README
A Lightweight, Robust, and Modern PHP Framework for Craftsmen.
Built with passion by Jauhar Imtikhan.
🚀 Introduction
JTech Framework adalah framework PHP modern yang dirancang untuk kecepatan dan kesederhanaan tanpa mengorbankan fitur powerfull. Dibangun di atas fondasi Service Container yang kuat, Routing yang ekspresif, dan ORM yang elegan, JTech memungkinkan Anda membangun aplikasi web yang skalabel dengan kode yang bersih.
✨ Key Features
- Powerful Service Container: Dependency Injection otomatis.
- Expressive Routing: Syntax routing yang mudah dibaca dengan support Middleware.
- Eloquent ORM: Interaksi database yang intuitif (Active Record implementation).
- Blade-compatible View Engine: Templating engine yang fleksibel.
- Robust Security: Proteksi CSRF, XSS, dan validasi input bawaan.
📋 System Requirements
Sebelum menginstal JTech, pastikan server Anda memenuhi spesifikasi berikut:
- PHP: >= 8.2
- Composer: Versi terbaru
- PHP Extensions:
- BCMath
- Ctype
- JSON
- Mbstring
- OpenSSL
- PDO
- Tokenizer
- XML
📦 Installation
Cara termudah untuk memulai project baru dengan JTech adalah menggunakan Composer.
-
Create Project Jalankan perintah berikut di terminal Anda:
composer create-project jauhar/jtech nama-project-kamu
-
Setup Environment Masuk ke direktori project. File
.envseharusnya otomatis terbuat. Jika belum, copy dari example:cd nama-project-kamu cp .env.example .env -
Database Configuration Buka file
.envdan sesuaikan koneksi database Anda:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=jtech_db DB_USERNAME=root DB_PASSWORD=
-
Run Server Jalankan development server bawaan PHP:
php -S localhost:8000 -t public
Akses http://localhost:8000 di browser Anda.
📖 Basic Documentation
1. Routing
Definisikan route aplikasi Anda di routes/web.php.
use Jtech\Support\Facades\Route; use App\Controllers\HomeController; // Basic Closure Route Route::get('/', function () { return view('welcome'); }); // Route with Controller Route::get('/user/{id}', [HomeController::class, 'show']); // Route Group with Middleware Route::group(['prefix' => 'admin', 'middleware' => 'auth'], function () { Route::get('/dashboard', 'AdminController@index'); });
2. Controllers
Controller disimpan di folder app/Controllers. JTech mendukung Dependency Injection otomatis.
namespace App\Controllers; use Jtech\Http\Request; use App\Models\User; class UserController { // Route Model Binding & Request Injection otomatis public function update(Request $request, User $user) { $data = $request->validate([ 'name' => 'required', 'email' => 'required|email' ]); $user->update($data); return response()->json(['message' => 'User updated!', 'data' => $user]); } }
3. Models (ORM)
Model disimpan di app/Models. JTech menggunakan implementasi mirip Eloquent.
namespace App\Models; use Jtech\Database\Model; class Post extends Model { protected $table = 'posts'; protected $fillable = ['title', 'content', 'slug']; } // Penggunaan di kode lain: $posts = Post::where('status', 'published')->get();
4. Views
Simpan file view Anda di resources/views. Gunakan ekstensi .jtech.php
<h1>Hello, <?= $user->name ?></h1>
Return view dari controller:
return view('profile', ['user' => $user]);
🤝 Contributing
Kontribusi sangat diterima! Silakan fork repository ini dan buat Pull Request untuk perbaikan bug atau fitur baru.
📄 License
JTech Framework adalah software open-sourced di bawah lisensi MIT license.
© 2026 Jauhar Imtikhan. All rights reserved.