History
In the mid-80s I experienced the generic CRUD editor and other elements generated with generic programming working for a company that made software development following these concepts, with the configurations generated by a system called System Maker and stored in the database, using state-of-the art programming languages and databases for that time (Clipper and dBase III). Those concepts, in my opinion, were way ahead of its time.
In 1999 and 2000 I made my own version of the generic CRUD editor in Microsoft ASP (Active Server Pages) for a CMS (Content Management System), something like what WordPress does.
More recently I noticed this is called DRY. DRY is an acronym for "Don't Repeat Yourself" and is a software development principle that aims to reduce the code repetition. DRY code uses abstractions that are less likely to change, parametrization and data normalization to avoid redundancy. DRY code aims to reduce repetitive patterns and duplicate code and logic, in favor of modular and referenceable code.
During the pandemic of 2020, I came up with the idea of creating a new App (FynApp) and started the development of the generic CRUD editor for frontend in React.js based on Class Components, (check this repository) and the backend in Python (check this repository), with the configurations in structures specified in the same code.
At the beginning of 2023 I started converting the generic editor to React.js based on Functional Components and Hooks and the configurations in JSON files.
During PyCon Colombia in June 2023, I had this idea: bring generic programming to the backend. I started to code the CRUD handlers and the Menu and Endpoints automatic generation from the same configurations used by the frontend generic CRUD editor, using JSON files stored in a repository common to both frontend and backend.
The news about ChatGPT at the end of 2022 and the whole AI (Artificial Intelligence) boom, made me very curious and eager to include some of that in FynApp.
In July 2023 I participated in the lablab.ai Google Vertex AI Hackathon and that gave me the ideas to create FynBot: the artificial intelligence assistant for FynApp, based on OpenAI APIs and later GPT Functions.
Between August and November 2023 I explored and included AI image and audio generation in the App.
In December 2023 I decided to implement generic programming using Langchain for Python, to use any LLM / NLP / Embeddings models and avoid being tied to a single AI provider.
In February 2024 I started extracting all the generic programming from FynApp and then The GenericSuite was born. The first version was published at the beginning of March 2024 and the ready betty libraries were published in NPMJS and Pypi at the beginning of April 2024.
This is my first contribution to the open source community.