/

How to Install xCRUD Nova Pro

Everything a fresh checkout needs before your first page loads: a database, a config file, and mod_rewrite.

Requirements

xCRUD Nova Pro runs on PHP 8.0+ and MySQL/MariaDB, behind Apache with mod_rewrite enabled (or an equivalent rewrite setup on nginx/IIS). No Composer packages, no Node build step - the PHP is plain, and the client-side widget is a single vanilla JavaScript file.

1. Import the database

The demo catalog ships as a single SQL dump. Create a fresh database and import it:

mysql -u root -e "CREATE DATABASE xcrud16 CHARACTER SET utf8mb4"
mysql -u root xcrud16 < sql/xcrud16.sql

If you're running the Pro tier (login, roles, admin), also import sql/xcrud_pro.sql into the same database - it adds the sys_*/user/logs tables the login screen and admin pages need.

2. Configure src/Config.php

Point XcrudConfig at your new database:

public static string $dbHost = 'localhost';
public static string $dbName = 'xcrud16';
public static string $dbUser = 'root';
public static string $dbPass = '';

While you're there, set $appSecret to a long random string unique to your install - it's the HMAC key signing every where()/subselect()/pass_var() condition, so it matters even in local development. See the Configuration Reference for every other setting.

3. Enable mod_rewrite

The project's own .htaccess turns a clean URL like /payments into a call to core/router.php, which resolves it to pages/payments.php. That needs two things in Apache's config:

  • mod_rewrite enabled (XAMPP has this on by default).
  • AllowOverride All set for your document root, so .htaccess is actually read.

4. Load your first page

Visit your install in a browser - if you're using the bundled demo catalog, start at the dashboard:

http://localhost/xcrud_8/app

Ready to build your own page instead of browsing the demos? Continue to the Quick Start guide - a working CRUD screen in three lines of PHP.

Project structure

PathWhat it is
src/Config.phpDatabase credentials, table whitelist, UI framework switch
src/Xcrud.phpThe Xcrud class - table()/route()/render()/page() and every field/form option
core/ajax_crud.phpThe REST API (GET/POST/PUT/DELETE), PDO + prepared statements
core/xcrud.jsThe CRUD widget - list, add, edit, delete, all via fetch()
themes/{ui}/One folder per UI framework (none/tailwind/bootstrap)
core/router.phpMaps /payments to pages/payments.php
pages/One file per route
sql/xcrud16.sqlThe demo database dump