Xanadu is a platform for developing Database-Driven Web Apps that use NGINX, PHP, HTML, Bootstrap, CSS, Javascript, and MySQL.
Xanadu isn't like other platforms or frameworks. We're old-school developers who use a mix of procedural and object-oriented code in a way that reflects reality. Start with a Page and add Elements. The Page Body generally contains Cards with Elements like Tables, Labels, Inputs, and Buttons. Simple.
It's been a long road. We've been developing Database-Driven Apps for decades with FileMaker and Xojo, both closed-source platforms. FileMaker rocks, but licensing has become expensive. Xojo has fantastic pricing but is perpetually buggy.
We landed on PHP because it is affordable, solid, and open-source.
Tickets Table
TicketMessages Table
// Modules $tableContacts = new \xan\khan( 'Contacts', 'Contacts', 'Contacts', 'Contact', "FI_CONTACTS" ); $tableTickets = new \xan\khan( 'Tickets', 'Tickets', 'Tickets', 'Ticket', 'FI_TICKETS' ); $tableTicketsMessages = new \xan\khan( 'TicketsMessages', 'TicketsMessages', 'Tickets Messages', 'Ticket Message', 'FI_MESSAGES' ); // Generate $tableTickets->generate( [ $tableContacts ], [ $tableTicketsMessages ] ); $tableTicketsMessages->generate( [ $tableContacts, $tableTickets ], [] ); // Result $khanResultMsg[ '$tableTickets' ] = $tableTickets->result; $khanResultMsg[ '$tableTicketsMessages' ] = $tableTicketsMessages->result;