wp-admin

Custom PHP CMS

A lightweight, custom-built Content Management System (CMS) using native PHP. This project started as a simple admin panel and has evolved into a fully functional CMS with advanced page building capabilities, custom code snippets, a Kanban project board, a drag-and-drop form builder, two-factor authentication, analytics, a comprehensive documentation system, a fully personalised per-user dashboard, multi-language content support, virtual media folders, a visual automation/workflow builder, SEO analysis, a content calendar, custom fields, a WordPress-like first-run installer, trash/recycle bin, CSV import/export, maintenance mode, user activity tracking, a redirects manager, revision diff viewer, related posts, a token-authenticated REST API, a built-in media editor, multi-site management, a data explorer, form analytics, an audit dashboard, a plugin system with hook/event architecture, real-time notifications, internal messaging, security hardening tools, a sitemap generator, and a global search spotlight (Ctrl+K).

Features

Content Editing

Form Builder

Kanban Board

Dashboard Widgets

Email System (SMTP)

Authentication & Security

User Management

Analytics

Audit Log

Other Features

Built-in Documentation


Installation

  1. Clone the repository:
     git clone https://github.com/s4rt4/wp-admin.git
    
  2. Run:
    • Serve via Apache/Nginx or a local environment like Laragon/XAMPP.
    • Access the admin panel at /wp-admin/.
    • Compatible with both subdirectory (localhost/word-press/) and virtualhost (word-press.test/) setups.
  3. First-run installer:
    • On first visit, you will be automatically redirected to the installer wizard (/wp-admin/install.php).
    • Step 1 — Language: Choose Indonesian or English.
    • Step 2 — Requirements: Automatic system check (PHP version, extensions, writable directories, memory). Must pass before proceeding.
    • Step 3 — Database: Enter your DB host, name, username, and password. Use the “Test Connection” button to verify.
    • Step 4 — Site Info: Set your site name, URL, admin account, and optionally install demo content (sample posts, pages, categories).
    • Click Install — the wizard creates all database tables, inserts defaults, generates wp-config.php with environment config (WP_ENV, WP_DEBUG, AUTH_SECRET_KEY).
    • You will be redirected to the login page when done.

Note: wp-admin/wp-config.php is excluded from the repository (.gitignore) — credentials never leave your machine.


Default Admin Login


Tech Stack


Disclaimer

This project is a hobby and not for commercial use. Any resemblance to WordPress is intentional as a tribute from a fan, and is not intended to be a copy or a competitor.