We present you a translation of the Sm0ke article published on dev.to. The author talks about his experience in generating web applications and how to automate the process of creating them.
Hello coders!
I am a freelance developer and I have generated over 100 applications in various languages โโand platforms using automation tools,
HTML parsing and
boilerplate code .
All my applications, both paid and free, are in the
open GitHub repository. I will talk about some of them in this article.
In total, I have created more than 40 such applications. The design for them was developed by well-known web agencies.
All these applications, both paid and free, use a boilerplate, SQLite database, ORM, authentication, helpers and a basic set of tools (static export via Frozen-Flask and an FTP deployment script).
- Free MIT licensed apps - Paper Kit , FlaskPlay .
- Free applications licensed under CCA 3.0 (when using them, you must save information about authorship) - Phantom , SolidState .
All my admin panels are created using Flask and use the SQLite database, authentication, ORM and a basic set of tools (a full list of panels can be seen
here ).
Here are some panels:
Flask Dashboard Argon ,
Flask Dashboard Material and
Flask Dashboard NowUi . All of them are licensed by MIT.
Other generated applications and boilerplates
- Full Stack - applications with a two-tier architecture, as well as Vue and React (at the interface level). Have a MIT license.
- The boilerplate code for Node.js, Laravel and Flask - also with a MIT license.
About the automation process
Once I decided to simplify the process of creating applications. Based on my freelance experience over the past two years, as well as customer requirements and feedback, I made the following conclusions:
- Customers always need several designs for the application (so that there is plenty to choose from).
- My applications must be compatible with even the latest devices.
- It is necessary that the migration of legacy versions of applications to new devices fit into a small budget.
To solve these problems, the development process had to be automated. In my case, it took several steps:
Further steps
- Extending the HTML parser to convert legacy HTML designs to Vue, React, and Angular themes.
- We are preparing themes for modern frameworks (Gatsby.js, Gridsome, Hugo), starting with the design created on Bootstrap.
- We transfer designs from previous versions of the CSS framework (Bootstrap) to Bulma and Tailwind.
- We add more boilerplates to the pipeline - for example, for Django, Fastify and similar frameworks.
Thanks in advance for your feedback!