Skip to content

Zafkiel is a PHP library that lets developers design the backoffice of their websites with modules.

License

Notifications You must be signed in to change notification settings

kevin10-26/Zafkiel

Repository files navigation

Zafkiel

License PHP Version Status

Zafkiel is a PHP library that lets developers design the backoffice of their websites with user-created modules.


📸 Preview

⚠️ Preview screenshots and demo are not yet available.


✨ Features

  • 🔧 Modular architecture – all features are encapsulated in independent modules
  • 🧩 Plug-and-play modules – easily integrate, enable, or remove features
  • 🔐 User and permission system (planned)
  • 🌐 Framework-agnostic – can be embedded in any PHP-based project
  • 📁 Clear project structure – encourages clean, maintainable code
  • ⚖️ LGPL-2.1 license – open-source and enterprise-friendly

📦 Requirements

  • PHP 8.0 or higher
  • Composer (PHP dependency manager)

🚀 Getting Started

1. Install via Composer

composer require zafkiel/core

2. Initialize Zafkiel

declare(strict_types=1);

require 'vendor/autoload.php';

use MyApp\Controller;

$username = // Username of the logged admin.
$controller = new Controller($username);

echo $controller->show();

The framework expects a proper directory structure (see below) and routing setup using Apache, Nginx, or built-in PHP server.


📁 Project Structure

zafkiel/
├── src/              
│   ├── API/          # API handling
│   ├── Core/         # Core framework source
│   ├── Desktop/      # Dashboard loading (e.g., init modules, background)
│   ├── Middleware/   # JWT validation
│   └── Templates/    # Frontend sources (html, css, js)
├── vendor/           # Composer dependencies
├── composer.json     # Dependency definition

🔄 Roadmap

  • Modular loader system
  • Base kernel and view rendering
  • User & permission management
  • Theme system and templating
  • API layer for modules
  • In-app configuration UI

🤝 Contributing

We welcome contributions!

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/my-feature)
  3. Commit your changes (git commit -am 'Add new feature')
  4. Push to your fork (git push origin feature/my-feature)
  5. Open a Pull Request

Please follow:

  • Clean code practices (SOLID, PSR standards)
  • English documentation and comments
  • Modular and decoupled design

📜 License

Zafkiel is licensed under the GNU Lesser General Public License v2.1 (LGPL-2.1).
You are free to use, modify, and distribute the framework under the terms of this license.

See the LICENSE file for more details.

About

Zafkiel is a PHP library that lets developers design the backoffice of their websites with modules.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published