Must read Building the next-gen Chevereto

Rodolfo

Chevereto Developer
Chevereto Staff
Can you please speed up the development?
Sure, get me four extra hands and maybe seven more brains. That will do!

I don't think that the business development of the last two weeks is any interesting for the people wondering about the next-gen Chevereto and that's why I haven spoken anything. If I don't speak means that I don't have anything to tell relevant to this. Try to understand that Chevereto is not only the script you buy here. Is also Chevereto-Free, the new framework, he chevereto.com website, the whole business, brand, partnerships, etc. You base your judgement only on the visible surface and not in all the silent work that I do everyday.

By the way, I can tell that the only thing that bothers you is the release date. Don't worry asking, I will send a newsletter once that gets set.

Cheers!
 

Alex146

Founder license
License owner
Hey! Awesome work!

But, will you still update the G\Library on github until end of Chevereto 3? I don't see any update since 2 years :s

Again really good work.
 

Rodolfo

Chevereto Developer
Chevereto Staff
Will you still update the G\Library on github until end of Chevereto 3? I don't see any update since 2 years :s
I abandoned G\ and most likely I will release a final version when 3.X ends. To be honest, the way that G\ works is very basic and it doesn't suit its purpose anymore (raw speed). Take in consideration that it was created in 2014 so it is very outdated.

The new framework works way better and allows you to do more with less code. Also, this time I will really work on it (something that I never was able in G\ because it was too basic and at the end it was merely a wrapper).
 

Rodolfo

Chevereto Developer
Chevereto Staff
Update 2019-07-17

The framework code quality has been dramatically improved (it scores 10/10 in scrutinizer, 9.8 in codefactor) which is a direct result of my approach to clean code. However, the code is still not complete as I'm missing cache, pre-loading and other optimizations that I want to throw in in this.

Work in progress in the framework is solid and steady, loving how is being shaped. I'm about to start preparing the framework for its first official release. From there, I hope that my next development should be exclusively V4 related and I can't wait to start hyping with screenshots and that kind of stuff. We need more hype around here!

Talking about hype, I will like the opportunity to mention that the framework that I'm building is for all my future developments, which include Chevereto (the software itself), its main website (chevereto.com) and a SaaS that I want to build.

As you may notice, I'm quite surpassed with all the limitations and problems triggered by self-hosted installations and offering the software under a service model seems the way to go: You get top performance, no more server issues and no tech knowledge is required. This software as a service consists of highly optimized Chevereto VPS instances, with a bunch of third-party tools like image proxy, distributed cache, monitorix, Elasticsearch, etc. All these extra tools and technologies have been ignored in this software due to our LAMP sandbox and self-imposed limitations, triggered by the need for reaching the largest self-hosted market (hi, cPanel).

In the end, what I want to say in this post is that I'm doing a serious modernization here. I started myself by changing my development tools, moving to Linux, embracing clean code, console first and other principles. Also, I'm showing you how the whole codebase is being remade and you can check now how the code is more clean and modern (first paragraph) and you can even see how many commits took me to get there.

I just want to say thanks for all those who support my work and believe in my ideas, hope to tell you more interesting stuff in the next weeks.

Cheers,
Rodolfo.
 

Rodolfo

Chevereto Developer
Chevereto Staff
Update 2019-08-05

Past week (July 29 - Aug 4) I was out of office due to an ambulatory surgery that my wife had. Don't worry, she is perfectly fine but I had to take charge of several other chores in that week and I took the week off.

As I mentioned in the previous update, I'm doing the final organization of the framework and I can say that the progress in this regard is solid and I really like the outcome. If you have followed my work (yeah, I'm optimistic) certainly you can tell that there's a remarkable progress in code quality, programming and everything development related. This will grant us a solid and stable base to work with, for years or even decades.

But why focus on quality so hard? I want to offer commercial grade support for Chevereto V4. This means that quality checks, tests, automatic error reporting and easy-to-work code is a must for this goal. The SaaS will include support, automatic software updates, system updates (Linux, PHP, DB, Nginx), automatic error reporting, periodic integrity checks and its own store.

I'm getting there, thanks for the patience.

Cheers,
Rodolfo
 

Gambalunga

Network license
License owner
Ciao Rodolfo
Just a question so that I am clear on how the new framework will work. If I understand correctly you are moving to a SaaS model. Does this mean that the script for handling the image hosting sites will be held on a server and then accessed on demand from the sites that actually store the images, data etc?

In other words rather than installing the whole script as happens today on my server (well actually the server that hosts my site) my site will actually have a client installed that needs to access your SaaS server for the actual processing code.

Is this how it is going to work?

I currently have a small modification that allows user names to be hyphenated. I hope the ability to make this sort of modification will not be lost.
 

Rodolfo

Chevereto Developer
Chevereto Staff
Ciao Rodolfo
Just a question so that I am clear on how the new framework will work. If I understand correctly you are moving to a SaaS model. Does this mean that the script for handling the image hosting sites will be held on a server and then accessed on demand from the sites that actually store the images, data etc?

In other words rather than installing the whole script as happens today on my server (well actually the server that hosts my site) my site will actually have a client installed that needs to access your SaaS server for the actual processing code.

Is this how it is going to work?

I currently have a small modification that allows user names to be hyphenated. I hope the ability to make this sort of modification will not be lost.
Chevere (new framework) and Chevereto 4 are Open Source (MIT license) so you can run Chevereto in your own servers with all the plugins, themes and modifications that you want to use.

The SaaS is a service for another market, for those not into setup the whole thing and just use the software.
 

Rodolfo

Chevereto Developer
Chevereto Staff
Update 2019-08-19

Development is on going and the framework keeps getting shape. I've added and tweaked so many stuff that I can barely remember just the last few days. The very last stuff I added was a simple OPCache based utility that is now used to cache the application services (API, Router, etc.) and now, the current penalty for running the framework is low as 0.87ms.

2437

This is showing how many milliseconds went from index.php (absolute start) to an App controller. This is how much it needs to generate a "Hello World!" within a controller (actual application code) and it represents the time the framework "eats" from vanilla PHP.

This is due to cache and the time could be even lower as I tested this on my laptop. A server grade hardware should easily outperform this (less time) but the significance here is that we are talking about fast boot times even without PHP 7.4 pre-loading. Of course, soon as more I/O gets involved the response time should increase but what matters here is the low framework footprint.

I've also changed how the application load itself and a CLI command is needed in order to build the app for production. Some functionality is still pending and I'm still tweaking the whole structure.

The progress is solid and I hope to release a beta by September.

Cheers,
Rodolfo.
 

Rodolfo

Chevereto Developer
Chevereto Staff
Update 2019-09-16

I've made a Trello board where I'm publishing the new features and functionalities with details. I'm still building that board as I'm getting used to Trello. The board is open to public and you can get more instant feedback on the stuff that I'm doing.

Chevereto V4 | Trello
 

Rodolfo

Chevereto Developer
Chevereto Staff
Update 2019-10-14

We got a new revision (3.13.4) earlier this month which slowed development a little bit but the spam control tools were needed long ago. On the actual development, the framework is getting polish while I keep adding more features and improving what I've already made. Something that I don't want to do this time is to rush development as for me the framework must be solid to sustain whatever I want to develop on top of it.

Since my last update the code has been improved by using immutable objects, better class abstraction, removed most of the static methods, preferring smaller code structures, etc. In short, the framework is getting its quality check. Indeed, this is the real-time framework code quality:



What these tools measure are indicators of code quality. For example, Scrutinizer allows to understand how clean is the code and detects typing issues while Code Climate measures how maintainable is the code. I'm doing my best to make the framework a top quality product, even beyond the industry standard. Of course, this will also apply to Chevereto V4.

My to-do is getting shorter as I'm approaching to a beta release and I couldn't be happier with my vision of a modern framework as the joy I feel working with this thing is unprecedented. I wish I could do a better job in explain why is so great but I think that only time will tell.

This week I'm going to work on the hook registry system, the JSON API auto exposed thing and keep fixing minor coding styling issues. Hope to get updates shortly.

Cheers!
 

DeCysos

Phoenix Foto Service
License owner
In Deutsch
-------------

Sollte noch etwas Unterstützung von Nöten sein, so könnte ich mit folgendem aushelfen.

Übersetzung von der Englischen in die Deutsche Sprache.
Dies macht sich für mich natürlich besser wenn das Script bereits soweit fertig ist, das man den Inhalt bzw die Verständlichkeit des Textes besser übersetzten kann.

Desweiteren könnte ich eine Testumgebung (Webspace) auf einem Deutschen Server anbieten mit derzeit folgender Konfiguration.
  • Plesk Onyx 18
  • eine SubDomain von mir
    • SSL Unterstützung (Let's Encrypt)
  • php 7.2.xx or 7.3.xx - FPM oder FastCGI
  • Apache 2.4.xx (derzeit kein Nginx Reverse Proxy)
  • Speicherplatz auf dauer bis zu 20 GB (falls mehr benötigt wird wäre dies sicherlich auch kein Problem) (bis zum Release oder auf Wunsch länger.
Wenden Sie sich bei bedarf einfach über das Forum per Privater Nachricht an mich, oder nutzen Sie die in meinem Account hinterlegt E-Mail Adresse.

---------------------------
Translated into english
---------------------------
Should some support be needed, I could help out with the following.

Translation from English into German.
This makes for me, of course, better if the script is already ready so far, that you can translate the content or the comprehensibility of the text better.

Furthermore, I could offer a test environment (webspace) on a German server with the following configuration.
  • Plesk Onyx 18
  • a subdomain of mine
    • SSL support (Let's Encrypt)
  • php 7.2.xx or 7.3.xx - FPM or FastCGI
  • Apache 2.4.xx (currently no Nginx reverse proxy)
  • Storage space up to 20 GB (if more is needed, this would certainly not be a problem) (until the release or on request longer.
If necessary, simply contact me via the forum via private message or use the e-mail address provided in my account.
 

Rodolfo

Chevereto Developer
Chevereto Staff
Update 2019-11-06

After some unexpected events I can post about the work in progress and the current development status. Since the last update, I'm getting closer to the final application structure and basically my work now is to review the entire code and make it presentable. In this process I'm adding tests while I finishing each component of the framework.

About the framework I can tell you that its bootstrap time is ~3ms in my machines but I haven't added sessions so wish me luck. I need to fix a couple components, revisit the plugging registration service, write tests and it will be ready for Chevereto.

As the type of application that I'm building is headless, I'm evaluating the possibility of release Chevereto V4 also headless and add the default user interface later on. I know that is not ideal, but not doing it is even worse. This is because to build the application I've to necessarily build the API first, I can't do it in parallel (too different things, needs warm up).

Honestly I don't know if there's any crowd for getting the API first so please let me know if you care about that.

Hope to post more updates soon.
 

DeCysos

Phoenix Foto Service
License owner
In Deutsch
------------------------------
Das klingt sehr gut und ich freue mich das es voran geht mit der Arbeit und dem Projekt.
Ich bin sehr gespannt auf das Ergebnis.

Also wenn Du damit meinst das es vorerst kein Grunddesign geben wird, fände ich es schade. Ich selbst baue meistens auf das Grunddesign auf.
Egal, mach Dir keinen Stress, Hauptsache es wird gut werden.

Ich sage immer: Qualität vor Quantität :cool:


------------------------------
Translatet into english
------------------------------
That sounds very good and I'm glad that it goes ahead with the work and the project.
I am very much looking forward to the result.

So if you mean that there will be no basic design for the time being, I think it would be a pity. I mostly build on the basic design.
No matter, do not stress, the main thing is going to be good.

I always say: quality over quantity :cool:
 

Rodolfo

Chevereto Developer
Chevereto Staff
I think it would be a pity. I mostly build on the basic design.
For sure it is a pity, because it excludes pretty much all normal users. But it is also a strong sign on the new mindset around here. Due to the size and requirements of this application, I'm unable to fill all the user needs on my own. I'm more focused in provide the tools to easily extend the application and build any kind of user interface for the same reason.

This should trigger third-party user interfaces and Chevereto-based applications. For example, desktop software or mobile applications interacting with the Chevereto API. That kind of stuff only requires the API, not the HTML user interface.

In any case, the consign is to release the functionalities soon as possible as I want to implement continuous delivery for Chevereto. No more manual releases, all auto (I hope!).
 
Top