I'm a fan of single-page web-apps and try to use them where possible. With progressive web apps right around the corner, the opportunity of building once and deploying to the internet and native app stores simultaneously is too great to miss. Toolchains such as Microsoft's Project Westminster are already allowing the web to seamlessly transition onto a user's device and take advantage of platform-specific features.
Because I build most of my technology from scratch, I have an intimate knowledge of the internal workings of each entity, function and file introduced into any given project's codebase. This cuts down on development time and facilitates deeper integration with the underlying system, granting extra design versatility.
Ilmiont NET is a server-side MVC framework capable of powering modern web apps, platforms and services. Ilmiont NET provides automatic request routing, data handling and template rendering capabilities for PHP backends, enabling the rapid deployment of new cloud services and APIs.
The use of Ilmiont NET as a common project base makes creating a new platform as simple as defining a set of controllers, models and views that will combine to form an API endpoint, rendered template or backend utility function. Ilmiont NET takes care of routing, authentication, session management, database abstraction, configuration and much more, enabling development time to be spent building unique capabilities specific to each new system.
Ilmiont CMS is a versatile content management system that runs atop Ilmiont NET. Designed to be both powerful for developers but also intuitive and easy to use, the base Ilmiont CMS installation includes support for all core features via CRUD API endpoints. External apps ranging from the official administration interface to third-party services can then connect to the CMS to add, edit and delete content.
Full support is present for objects typical to modern advanced content management systems, including static pages, dynamic news feeds, blogs and navigation menus. Ilmiont CMS also features its own revisioning system and a built-in templating engine, enabling object properties to be parsed directly from HTML template files that are compiled at runtime. This output is then combined to produce the rendered HTML displayed in the browser.
Ilmiont CMS Manager
The app is designed to be fully responsive and capable of adapting to any ES5-supporting web browser, although more work needs to be done to meet this aim. It is intended that Ilmiont CMS Manager will eventually be decoupled entirely from Ilmiont CMS, enabling it to complete its transition to a true standalone progressive web app suitable for deployment to native app stores for use in commercial scenarios.
Ilmiont VCS is a lightweight CLI version control system built in a weekend in Python. It has support for multiple projects, stored as JSON files, and the ability to commit, pull and push the contents of an assigned working directory to an assigned repository. Commits are tagged according to the UNIX timestamp that they were created at and are logged in a plain text file that includes changelog messages specified by the user. While undeniably basic, Ilmiont VCS has the advantage of being fast and simple, making it suitable for use when organising small personal projects.
Ilmiont SQLite Database Manager
Ilmiont SQLite Database Manager is a simple database management and command utility for SQLite3 that allows you to define a set of SQL commands, save them and execute them on a database file on multiple occasions. It is designed to make repetitive database creation and population tasks experienced during the development of web projects less tedious. Ilmiont SQLite Database Manager includes a full GUI and support for logging both success and error messages. It is currently only compatible with Windows NT-based systems.
IlConsole is a Python3 package that facilitates the output of fully-formatted text to the system console. IlConsole allows you to customise text foreground and background colours, the background colour of the console and the size of the console window. You can also align text in the console and prefix or suffix outputted text with extra characters. To complement the formatting options, IlConsole includes built-in logging capabilities and styles, enabling you to print timestamped, colour-coded messages to the console with a single function call.
Aside from my main projects, I have also created several other simple apps, games and utilities in my coding career, some unfinished but most still usable.
The following are worth particular attention but don't merit credit as a fully-fledged project:
- IlPyApp: A lightweight framework that simplifies the creation process of new Python CLI and GUI apps.
- IlPyMod: A framework that makes it easy to create and document individual self-executable Python modules.
- IlPyPack: A Python framework that simplifies the bundling of modules into packages, designed to complement IlPyMod.
- AlwaysOnTop: A very basic Windows utility built using AutoHotKey that lets you force any window to always display above others.
- QuickyPad: An AutoHotKey utility for Windows that allows you to make quick always-on-top notes on your desktop.
- Ilmiont Snake: A simple Python interpretation of the classic Snake game, built using Pygame.
- Ilmiont DDNS Alerter: A Python GUI app that periodically checks your computer's IP address and logs any changes.
- Ilmiont Text File Line Reader: A simple GUI app that displays random lines from a specified plain text file at defined intervals.
- Ilmiont FTP Server Contents Replacer: A basic utility that lets you overwrite an FTP server's root folder with the contents of a directory on your computer.
I am yet to commercialise any of my projects. However, it is anticipated that Ilmiont NET and Ilmiont CMS will see public releases in the next couple of years. This will enable third-parties to build on the scaffolding they provide for creating scalable web services, sites and apps, as well as giving me the opportunity to use them when taking on client work.
Looking for downloads? Unfortunately, I do not currently host my projects online. That will change soon so please keep checking back.