Warning: session_start(): open(/home/aitisolu/domains/aiti-solutions.com/public_html/storage/sessions/sess_3jjt36e4jsleprvcilenq9rbpf, O_RDWR) failed: Disk quota exceeded (122) in /home/aitisolu/domains/aiti-solutions.com/public_html/app/Middleware/StartSession.php on line 41

Warning: session_start(): Failed to read session data: files (path: /home/aitisolu/domains/aiti-solutions.com/public_html/storage/sessions) in /home/aitisolu/domains/aiti-solutions.com/public_html/app/Middleware/StartSession.php on line 41

Warning: session_start(): open(/home/aitisolu/domains/aiti-solutions.com/public_html/storage/sessions/sess_v6skl7ogok8kc413l1i7ofj8ur, O_RDWR) failed: Disk quota exceeded (122) in /home/aitisolu/domains/aiti-solutions.com/public_html/system/Security/Csrf.php on line 16

Warning: session_start(): Failed to read session data: files (path: /home/aitisolu/domains/aiti-solutions.com/public_html/storage/sessions) in /home/aitisolu/domains/aiti-solutions.com/public_html/system/Security/Csrf.php on line 16
Projek Aplikasi dengan AitiCore-Flex | Aiti-Solutions

Projek Aplikasi dengan AitiCore-Flex

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)

  1. Buka / → harus tampil Home
  2. Buka /dashboard sebelum login → harus dilempar ke /login
  3. Login pakai:
    • admin@mail.com
    • 123456
  4. 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”.

Komentar

Artikel Terkait

Mungkin Artikel yang Anda Cari?