Project Sederhana dengan AitiCore Flex (Tahap I – Pemula)
Target artikel ini: kamu bisa bikin project pertama pakai AitiCore Flex dari nol, tanpa pusing. Cocok buat pemula yang mau paham konsep MVC + routing + session login.
1) Tujuan Project (Yang Kita Bikin di Tahap I)
- Halaman Home
- Halaman Login
- Proses validasi login sederhana (hardcode dulu biar fokus konsep)
- Halaman Dashboard setelah login
- Proteksi halaman dashboard pakai session
2) Install & Jalankan AitiCore Flex
Download / clone project AitiCore Flex lalu jalankan server PHP built-in.
git clone https://github.com/afandisini/AitiCore.git
cd AitiCore
Jalankan server lokal:
php -S localhost:8000 -t public
Buka di browser:
http://localhost:8000
Kalau halaman default muncul: aman. Belum ada drama.
3) Pahami Struktur Folder (Biar Nggak Tersesat)
Struktur dasar yang perlu kamu kenal:
app/
Controllers/
Models/
Views/
config/
routes/
public/
- Controllers: tempat logic (misal: login, dashboard)
- Models: tempat akses database (tahap berikutnya)
- Views: tampilan HTML
- routes: peta URL (routing)
- public: root web (index.php, assets)
4) Buat Routing: Home, Login, Dashboard
Edit file routing:
routes/web.php
Tambahkan routing berikut:
$router->get('/', 'HomeController@index');
$router->get('/login', 'AuthController@login');
$router->post('/login', 'AuthController@authenticate');
$router->get('/dashboard', 'DashboardController@index');
Catatan: Kita pakai GET untuk menampilkan halaman, POST untuk memproses form login.
5) Buat Controller
5.1 HomeController
Buat file:
app/Controllers/HomeController.php
<?php
namespace App\Controllers;
class HomeController
{
public function index()
{
return view('home');
}
}
5.2 AuthController (Login + Proses Login)
Buat file:
app/Controllers/AuthController.php
<?php
namespace App\Controllers;
class AuthController
{
public function login()
{
return view('login');
}
public function authenticate()
{
$email = $_POST['email'] ?? '';
$password = $_POST['password'] ?? '';
// Tahap I: Hardcode dulu biar fokus ke konsep routing + session
if ($email === "admin@mail.com" && $password === "123456") {
$_SESSION['user'] = [
'email' => $email,
'role' => 'admin',
];
header("Location: /dashboard");
exit;
}
// Kalau gagal, tampilkan pesan sederhana
// (Tahap lanjut: redirect balik + flash message)
echo "Login gagal. Coba lagi.";
}
}
Login test:
- Email:
admin@mail.com - Password:
123456
5.3 DashboardController (Proteksi Session)
Buat file:
app/Controllers/DashboardController.php
<?php
namespace App\Controllers;
class DashboardController
{
public function index()
{
// Proteksi: kalau belum login, lempar ke /login
if (!isset($_SESSION['user'])) {
header("Location: /login");
exit;
}
return view('dashboard');
}
}
6) Buat View (Tampilan Halaman)
6.1 View Home
Buat file:
app/Views/home.php
<h2>Home</h2>
<p>Selamat datang di project pertama pakai AitiCore Flex.</p>
<ul>
<li><a href="/login">Login</a></li>
<li><a href="/dashboard">Dashboard</a> (butuh login)</li>
</ul>
6.2 View Login
Buat file:
app/Views/login.php
<h2>Login</h2>
<p><a href="/">Kembali ke Home</a></p>
6.3 View Dashboard
Buat file:
app/Views/dashboard.php
<h2>Dashboard</h2>
<p>Anda berhasil login. </p>
<p>Email:
<strong><?php echo htmlspecialchars($_SESSION['user']['email'] ?? '-', ENT_QUOTES, 'UTF-8'); ?></strong>
</p>
<p><a href="/">Kembali ke Home</a></p>
7) Checklist Testing (Biar Kamu Yakin Berhasil)
- Buka
/→ harus tampil Home - Buka
/dashboardsebelum login → harus dilempar ke/login - Login pakai:
admin@mail.com123456
- Setelah login → masuk dashboard
8) Kenapa AitiCore Flex Berguna Banget Buat Pemula?
- Ringan: tidak bikin laptop nge-jet
- Jelas: routing → controller → view kelihatan alurnya
- Minim magic: kamu belajar konsep, bukan hafal mantra
- Fondasi kuat: setelah paham ini, pindah ke framework besar jadi lebih gampang
Kalau framework besar itu seperti naik motor 1000cc, AitiCore Flex itu motor 150cc yang bikin kamu ngerti kopling dulu. Biar nggak “langsung nabrak Laravel”.