Hi guys, I’m about to officially launch an LC/NC platform (called Lixcel) by the end of this year, and I need as much feedback as I can get from the community…
It is an ambitious PWA app, completely built with Aurelia on the front and with an Asp.net Core backend hosted in Azure. It is already available at: lixcel.com
If you find some design approaches or techniques that may fit your own projects, I’ll be glad to share any technical details. Thanks!
Hey, looks quite nice. I’m actually doing the same thing, except that I’m currently only focusting on the backend. How do you handle the backend on your platform?
Hi, glad to hear it made a good first impression…
Lixcel can be installed completely on the device and it can even work offline. In this case the custom apps you build with it (or the downloadable samples it provides) will be stored as json in the browser’s cache (in IndexedDb or, if supported, in the origin private file system - OPFS ). Users can also save these apps as files on the device, just like you do with a MS excel spreadsheet file.
Now, depending on the subscription type, the platform also allows you to store these files on the server. For this scenario the server exposes an API similar to what you find on One Drive, Google drive, drop box, etc.
In this case the json files (that contain both the design configuration and the data of a user app) are saved under Azure Blob Storage folders.
And in the last scenario, when user configures parts of the data models of their apps to be persisted in db (for large apps or when high level of collaboration is required), then the data is stored in an Azure Sql server database. This is a single multi-tenant db, logically partitioned by user’s team Id.
In my case the client side development was almost 80% of the total effort. The server WebAPI component was straight forward and involved mainly database CRUD processing, tokens authentication or caching files (apps, images or configurations). I may have to add additional database adapters in the future (for now it only supports Ms Sql Server, Oracle and Postgres, if it comes to on-premise deployment);
And because this tool is intended for totally non-technical users, the UI had to be very easy to use. It doesn’t even require dragging-and-dropping widgets on a canvas! But it still embeds advanced framework features such as:
- dynamic routing
- dynamic UI composition (heavy use of Aurelia’s compose)
- dynamic translations (runtime updates to language resources / aurelia-i18n)
- user/role security at various levels (table, column, row).
- advanced client-side data caching mechanisms
- responsive user interfaces (based on runtime configurations/business rules)
- clean architecture and clear separation of concerns (for example the UI view-models are unaware about the source of data; a Typescrypt object holding the state of a current data filter can either be used to query records in a local app file or be sent to the server and converted to C# objects or sql “where” clauses)
I see that the frontend is quite complex but I didn’t get the feel for what’s on the backend. Are there any features which you want to add, or your clients have been asking you to add lately?
Since I’m specializing in automating backend deployments on AWS, that sort of work would be easily done on my platform. If you have any such requirements for complex backend processing, which could be done on AWS, I think we could work together on that.
I’m currently working with another developer and providing him with infrastructure for hosting Discord bots. We are doing that as a partnership, where I’m basically giving him free infrastructure for his hosting service and he provides the clients. Then we simply split the revenue from the service.
Let me know if you would be interested in doing the same on your end, I think we can make this work out!
I surely see the potential of a future collaboration… I ve looked at your product and looks great for one of my use cases, which relates to Lixcel 's enterprise subscription offering (on-premise or private cloud deployment).
At this point though, when the product is not yet released at large (officially), the Azure Cloud is the only option, as some code is titghly coupled with their APIs. The AWS will be in scope for a future release (most likely in the second part of next year).
Sounds good to me.
CodeSmash uses Terraform under the hood, so I can use Terraform Azure modules to build the infrastructure on Azure as well. Not a big issue, but for now, I’m trying to focus on AWS. So, I completely agree that we should both wait until you’re ready for AWS integration on your end.
Based on suggestions I got from various sources, it seems that I must fix a couple of critical bugs and to complete the implementation of some of the half-baked features (including help docs) before to even attempt to ask for more feedback.
(I also promise to record new videos with accurate reflection of the current version of the product). I’ll get back in a month or two…
Take your time and good luck!