Xanadu first public release!

Xanadu is a framework for developing Database Driven Web Apps.

Xanadu uses PHP / MySQL / HTML / Bootstrap / CSS / Javascript with several amazing includes.

We’ve been developing Database Apps for decades with FileMaker and Xojo. FileMaker rocks but licensing became too expensive. Xojo has fantastic pricing, but is perpetually buggy. We had to find an alternative platform. PHP kept coming up in our searches. Long story short, we decided PHP is the best option just to get back to an affordable and solid platform.

Xanadu is FREE because we want to help others. If there’s enough interest, we hope to build a community of developers.

Read more about Xanadu: Xanadu | CampSoftware

7 Likes

when i click on the [Xanadu | CampSoftware] and click again on the Xanadu is available for download at [GitHub.com/CampSoftware] but it going to some weird which is not even github

Thank you! Fixed. :slight_smile:

I’m adding more documentation ASAP.

Starting to add a Getting Started section.

I hope the very best success!

1 Like

Does it support a shopping cart ?

Not yet. Xan currently has modules for Home, Contacts with a related list of Comms, Stats, Settings, and Users.

Tables exist for Orders, OrdersItems, Products, Payments, Disbursements, but each of these needs to have modules added. The Shopping Cart will behave like an Order. Before that, I will add a Products module with a Purchase buttons using Stripe Checkout.

We also plan to Projects module with related Items which have related Tasks. Then create Orders from Billable Project Tasks.

1 Like

Congratulations, but I can’t resist the line: With seeing the name, at my age, the first image in my head was Olivia Newton-John and Gene Kelly on roller skates. After that came “Citizen Kane”, a reference I’m sure you’d prefer. :slight_smile:

Edit: Xojo left his home in Tuscon, Arizona, for some California grass.

1 Like

Xanadu now has two factor authentication via SMS using Twillo or Email via MailGun.

Link is at the top of this thread. :slight_smile:

Have questions? Hit reply and ask!

1 Like

Great stuff, @HalGumbert !

Not knowing too much about such things, I’m curious how your product compares/differs to/from something like Laraval?

I don’t know much about other frameworks like Laraval. From what I’ve seen there’s a lot of setting of json properties. I’d LOVE to see a ‘hello world’ for a simple Laraval app that accesses a database.

Regarding Xanadu, it works like you might imagine. Tomorrow I’ll work to get a live demo up and will post the link here.

A user loads a url. Almost all URLs load via index.php:

require_once( 'init.php' );

// Aloe Load
require_once( 'aloe/framework/load.php' );

// Request Route
require_once( 'router.php' );

// Response Return
$aloe_response->return();
  • init.php loads constants, settings, classes, and functions.
  • Aloe from Tim Dietrich does the session, request, and response management.
  • router.php examines the url/request and loads the requested response.
  • Finally the response is sent to the user.

If someone requests foo.com/contacts/123, it’s routed to /app/contacts-0-page.php. Here’s what is in /app/contacts:

  • The content can be loaded immediately or after the page loads via ajax. Loading immediately is faster.
  • The content is loaded via content-1-cards.php which then loads each card.
  • The php pages that begin with “do” are ajax calls that do their work in the background and then update the page when the response is sent.
  • In the example of do-contacts-name-update.php, when a user edits a field like Last Name the event “onchange” triggers and sends the field info to php via ajax which saves the data. Then the new “full name” in the page header and the name in the list of Contacts are updated.

I hope this helps. Tomorrow I’ll work on an interface video and get the live test site up. :slight_smile:

Take a few minutes to watch this. (There’s tons of videos, but I tried to find a short one to give you an overview)
I’ve been casually looking at Laravel for the past couple of weeks, then came across what you’ve got going so that’s why I asked, since they both seem to be php/database solutions?

Let me know what you think!

1 Like

Thank you for that link. That was a really good demo. I wish I saw that a long time ago. I’m very interested, but not ready to move Xanadu to Laravel. I like Laravel’s structure.

After watching I googled a little about using ajax with form inputs and how to add a class to an input. I like their concept but MVC a little foreign to me. My brain is still procedural, but I’ll be thinking about this… :slight_smile:

What I thought was interesting is how you can change databases with just a config change, no code changes needed.
Routes are a new idea to me, but anyway, I expect I’ll be doing a lot more php so perhaps some tools are in order.

If you’d like to try out Xanadu, you can create a login here:
https://xanadu.xanweb.app/register/

I’ll make an overview video later today this weekend starting from that page. :slight_smile:

Late to the party but… YEY! Congratulations.

1 Like

Been working on a huge update. Refactored how javascript is called. I hope to push the update today. :slight_smile:

It won’t change the UI, but the code will be cleaner!