Milo Code Database - kickstart your projects easily
-
Hi Qt!
We've just released Milo Code Database: a set of small, useful helper classes
for Qt, easy to include and use - plus a scaffolding for new projects we call
the New Project Template. At Milo, we use them in many of our projects
to speed up development, and we figured they may be useful to the community
as well.MCDB comes in 2 forms:
- Installer - which helps to set up a new project in just a few seconds (with
scaffolding for Qt app, documentation, CI integration, versioning, config,
logger, and more). It can even set up a git repo and do the initial commit for
you :-) - Set of independent git repos, easy to clone / download / use as submodule.
So, what are the goodies?
- New project template - template for all new Qt projects (QML and Widgets).
Contains a scaffolding for Qt app with documentation, tests, resources etc. - MScripts - scripts for integration with GitLab CI, Mattermost, versioning
scripts for all platforms (including git SHA), and more - MConfig - a small class which helps storing user app settings and configuration
- MLog - small but powerful log class, with full categorized logging support
- MRestAPI - handy set of base classes for talking with REST web servers
- MBarcodeScanner - small helper class that allows to scan barcodes and QR codes
using QZXing library - MCharts - implements some simple yet meaningful and eye friendly charts to
display data - MSentry - remote logger support (Sentry/ Raven). Easy to turn on and off, just
with a config switch - MCrypto - AES module, containing simple and convenient API, based on OpenSSL
and it has a fallback if OSSL is not available
License?
MIT. We are actually open to other licenses, too, if somebody thinks that MIT
is not proper in this case.Where can I get it?
MCDB installers (Linux and Windows): https://seafile.milosolutions.com/d/2c50614e1e/
MCDB docs are available online: https://docs.milosolutions.com/milo-code-db/main/
And all submodules are listed and documented here: https://docs.milosolutions.com/milo-code-db/main/subprojects.html
Each module's source code is on GitHub: https://github.com/milosolutionsContributing
We're open to any comments, critique, pull requests etc. We can also help if
any piece of the documentation is unclear. It's all being constantly updated and
we're happy to get some external input to make this even more useful to everybody.Feel free to reach me at sierdzio@gmail.com or more officially at ppm-qt@milosolutions.com
Cheerio,
sierdzio - Installer - which helps to set up a new project in just a few seconds (with
-
Oh that is very cool !
Thank you for sharing.I gotta try MCharts :)
-
@kshegunov said in Milo Code Database - kickstart your projects easily:
Thanks for sharing, it's interesting stuff, I glanced over the REST classes.
I have a question, is this intended to be included in a project and used as is, or pre-compiled in a library and then linked to a project?Included as-is (it should be enough to add mrestapi.pri to your .pro file), and the code you can either copy or include as git submodule. I thought about making libs out of them, but the additional hassle of managing LIBS, deployment etc. automatically in qmake made me shy away from that (I'm not stopping anybody from making the modules into libraries, though). And this way the inclusion is very easy, and everybody is free to modify the classes if they want to.
Feel free to try the installer, it creates a ready-made Qt project with all modules already plugged into the .pro. Then it's easy to see how it fits together in Qt Creator.
-
@sierdzio said in Milo Code Database - kickstart your projects easily:
I thought about making libs out of them, but the additional hassle of managing LIBS, deployment etc. automatically in qmake made me shy away from that (I'm not stopping anybody from making the modules into libraries, though).
You may want to consider making a couple of Qt modules, that way Qt's infrastructure will take care of all that.
Feel free to try the installer
I will try it out when time permits.
-
True, Qt module is an option. Then all that was needed would be Qt += mcrypto or something.
-
Awesome. It is very surprising to find a Bar Code scanner example in your code database.
Will you be interested to provide your Code Database as a Qt Creator Wizard? So that user could create a project by "File -> New File or Project -> Milo Code Database -> xxxxx".
I just released a script to convert a existing project into Qt Creator New Project Wizard, that could make it easier to do so.
e-fever/qtcwizard: Convert a Project into a Custom Wizard for Qt Creator -
@benlau said in Milo Code Database - kickstart your projects easily:
Awesome. It is very surprising to find a Bar Code scanner example in your code database.
Will you be interested to provide your Code Database as a Qt Creator Wizard? So that user could create a project by "File -> New File or Project -> Milo Code Database -> xxxxx".
Yes, it is on my todo list. I'm temporarily buried under other tasks, but I will get to this eventually.
I just released a script to convert a existing project into Qt Creator New Project Wizard, that could make it easier to do so.
e-fever/qtcwizard: Convert a Project into a Custom Wizard for Qt CreatorWow, great! That should help a lot. Thanks!
-
FYI, some visuals have been added to the docs, now it is easier to see what is possible with charts and the barcode scanner, as well as how the installer and works looks like.