No description
Find a file
2025-11-01 05:11:21 +01:00
config Add installer tooling and move config into dedicated directory 2025-11-01 04:59:58 +01:00
docs Refactor installer infrastructure and harden credentials flow 2025-11-01 05:11:21 +01:00
install Refactor installer infrastructure and harden credentials flow 2025-11-01 05:11:21 +01:00
src/Installer Refactor installer infrastructure and harden credentials flow 2025-11-01 05:11:21 +01:00
.gitignore Add installer tooling and move config into dedicated directory 2025-11-01 04:59:58 +01:00
README.de.md Refactor installer infrastructure and harden credentials flow 2025-11-01 05:11:21 +01:00
README.md Refactor installer infrastructure and harden credentials flow 2025-11-01 05:11:21 +01:00

LexNova

LexNova is a lightweight PHP-based system designed to manage dynamic legal pages — such as imprint and privacy pages — across multiple domains or projects.
It focuses on simplicity, modularity, and easy maintenance — without requiring manual edits in source files or databases.


Features

  • Centralized management of multiple entities, domains, and documents.
  • Dynamic URL structure: /imprint.php?hash=<slug>&mode=imprint|privacy
  • Clean HTML/CSS layout with optional Bulma integration.
  • Versioned legal texts stored in a relational database.
  • Admin UI and API optional can be extended for automation.
  • Perfect for personal projects, small hosting panels, or open source environments.

🧩 Tech Overview

Backend: PHP 8.1+ (Slim or Flight Framework optional)
Database: MariaDB / PostgreSQL
Frontend: Plain CSS or Bulma
Caching (optional): Redis / APCu

The structure is modular and can be embedded into existing systems or run standalone.


🚀 Quick Start

  1. Clone the repository (primary):
    git clone https://git.diath.systems/DiamantTh/LexNova
    cd LexNova
    
    If you prefer the GitHub mirror:
    git clone https://github.com/DiamantTh/LexNova
    cd LexNova
    
  2. Run the installer (CLI example):
    php install/install.php --dsn="mysql:host=localhost;dbname=lexnova" --db-user="lexnova" --db-pass="secret" \
      --admin-user="admin" --admin-email="admin@example.com" --admin-pass="demo123"
    
    The installer checks PHP/PDO requirements, writes config/config.php, seeds demo data (disable with --skip-seed), and blocks repeat runs via .lexnova_setup.lock unless --force is given. You can also open http://your-host/install/install.php in a browser to configure the same options interactively. Manual SQL files remain in docs/ for manual provisioning.

    Requires PHP 8.1+ with PDO (MySQL or PostgreSQL) and Argon2id support.

  3. Review config/config.php if you need to fine-tune credentials or environment-specific settings.
  4. Open in browser:
    http://localhost/imprint.php?hash=example&mode=imprint
    

After a successful run, secure or remove the install/ directory and keep config/config.php outside version control.


📄 License

LexNova is released under the AGPL-3.0 license.
You are free to modify, redistribute, and host it — as long as changes remain open.


🌐 Translations


Created with ❤️ for modular and accessible legal management.