• Welcome to the Chevereto user community!

    Here users from all over the world gather around to learn the latest about Chevereto and contribute with ideas to improve the software.

    Please keep in mind:

    • 😌 This community is user driven. Be polite with other users.
    • 👉 Is required to purchase a Chevereto license to participate in this community (doesn't apply to Pre-sales).
    • 💸 Purchase a Pro Subscription to get access to active software support and faster ticket response times.

Building the next-gen Chevereto (old topic)

Status
Not open for further replies.

Rodolfo

⭐ Chevereto Godlike
Chevereto Staff
Administrator
It has been a while since I wrote a word about the next-gen Chevereto. Today I want to show and tell the actual work-in-progress behind Chevereto 4 and all the new business that I'm building here.

Spoiler alert: I don't have any dates yet, but I want to show you the work in progress.

Update 2019-09-19

You can follow the work in progress in the Chevere + Chevere V4 Trello board. I'm showcasing the new stuff and confirming the new system features.

Chevere Framework

The framework behind Chevereto 4 is Chevere. I've been working in this framework since May 2018, and a few weeks ago I started to publish its work-in-progress at GitHub.

Most of you won't have to mind about this framework thing at all, but for developers is a huge step forward which should bring more ease for development purposes.

Modernized

Chevere uses tools like composer, phpstan, scrutinizer and phpdoc. The code follows the PSR-12 formatting standard, it embraces strong typing and strict types. It includes console commands and works so neat that most of my development process is now "server-less". I can't recommend highly enough how great it feels to work with PHP like that. Here is what looks like:

2246

At this time I've commands for forge a HTTP request, inspect and run callables. Later I will add cache, dump and other most-wanted developer tools.

APIs built with Chevereto\Core use the json:api standard and are self-exposed: The API communicates what it does and how you have to use it. No documentation needed, no manual routing.

Current development state and release dates

The framework development is still ongoing and is reaching the point when I will have to start to migrate V3 codebase into it. Even for me, it is unknown how much time it will take me to achieve that migration because V3 has code that I haven't touched in years.

As some may know, I'm a one-man-army developer, and I ship my code soon as is shippable. Not a surprise that I'm slow, but that's because I'm doing way more than just coding like, for example, actually running the business or its software support (bugs). Don't get me wrong, I love to learn new stuff and push myself to the limit but I still have just two hands and, I don't have the manpower that others have.

Here, check how my GitHub activity changed when I made my development public (March 8):

2245


I will like to take the opportunity to thank @tomsit for helping me out with the forum and the Discord server. From December to March I was in a cave re-factoring the framework and the help that I got by not having to worry that much about support was like day and night for my development goals.

Questions welcome

I assume that there could be questions related to how to understand the framework code, its documentation, which template system is going to use, how it runs middleware, which components I'm using or why I'm not using a certain component, etc.

Feel free to ask anything, I will love to know what you want to build with Chevereto, how you want to integrate it with your existing system or what kind of customization you want to achieve.

Note: In some post "Chevere" is named as "Chevereto\Core". Is the same thing and "Chevere" is the current name.
 
I am wanting to build a script that pulls in all IDs in an album, so I can display a random image. Imgur had a really popular one they canceled out. Most servers can't handle it, but I wanna do this. It is the #1 requested feature.

Along with this, I would love to see how desktop apps, mobile apps, et cwork with an awesome api in the future :D
 
Update 2019-04-16

Code quality

At this point the base framework concept has been proved and tested, meaning that now I'm just refactoring the code to meet higher standards. Having a clean and solid code base makes the software more appealing for third-party developers. Think in the code as a building, and third-party devs as people willing to work in that facility.

2255

The goal is to reach code quality = 10 and you can check the progress here: https://scrutinizer-ci.com/g/rodolfoberrios/chevereto-core/reports/ - For those wondering how other projects compare, check this list: https://scrutinizer-ci.com/explore/ (for example, you can check yii2 or cake).

This tool (scrutinizer-ci) scores your code based on cyclomatic complexity, coding standards, bugs, bad practices, etc. In other words, it presents a numeric representation of your overall code quality.

JSON:API

As I mentioned before, Chevereto\Core is adopting the json:api standard. Let me put some context on why this is so important: It allows Chevereto based websites to self-expose how you can interact with it, for everybody, in a "language" that other machines can easily understand. As Chevereto is evolving into a media hub, being capable of using Chevereto on top of your existing website or systems is a must and the key to reach there is the implementation of this standard.

The whole API registering and routing happens automatically, you only need to define the actual functionality. Of course, it supports HATEOAS.

This will allow stuff that is completely impossible or very hard to achieve with the current Chevereto V3 codebase. Things like completely unique user interfaces, themes, desktop and mobile applications are some of the basic examples on the new stuff that this will bring to the table.

Serverless PHP development

If you have worked with PHP, you may be familiar with the concept of running a server in your machine for being able to interpreter the language as an HTTP request resolver. Probably you have used XAMP or any of its alternatives to be able to see the outcome of a given PHP software or script. Maybe you even run Docker containers for that matter. The concept of serverless PHP development here that you don't need Apache, Nginx or any of these known subjects to develop software on top of Chevereto\Core.

As the server can be wrong in so many ways, the only way to separate these concepts is being totally agnostic of the target server you end up using in production. To achieve this, Chevereto\Core includes a console that can be used to run any HTTP request in the command line. For example, instead of opening your browser at http://localhost.com:8000/test, you simply run app/console request GET /test.

Developers working with Chevereto\Core only need the PHP executable and the framework provides all the commands needed to work and interact fast with the application.
 
@Rodolfo can you in the version 4 of chevereto separate the translation of the backend and the front end because currently in version 3 all the translations are grouped in the same file.
Thank You
 
@Rodolfo can you in the version 4 of chevereto separate the translation of the backend and the front end because currently in version 3 all the translations are grouped in the same file.
Thank You
V4 aims to be an API so there will be several different "fronts", "backs" and several different translations for those.
 
I will most probably get banned for saying this.... it's been spoken about many times.... i apologise for saying it....

Membership monetization options....? 🙈
 
Sure, is just that any of these extras will be delivered as plugins. There should be official and third-party plugins so you will have plenty options for it.

Good call, i don't suppose you have an ETA for it?

I know i have been reading about memberships for the past couple of years now but it's never materialised.... it wont be anytime soon now would it?
 
Good call, i don't suppose you have an ETA for it?
No, I don't have a beta yet but the development is Open Source and you can check the work in progress here: https://github.com/rodolfoberrios/chevere

I'm in the first phase, developing the new framework that powers Chevereto. That is very close to a production-ready release... After that, I will start phase two which is update the actual Chevereto code base into the new system. The result of this will be V4 (modern Chevereto) and after the usual 3 months crash course (new major release issues) I will start to work in all the most wanted plugins like subscriptions and anything money making related.
 
Hi @Rodolfo, Is there any news about version 4 of chevereto ? because I consulted github and there has been no update for 2 weeks.
 
Hi @Rodolfo, Is there any news about version 4 of chevereto ? because I consulted github and there has been no update for 2 weeks.
I've been working in 3.X for a the past two weeks. I added a money back guarantee, changed some words in the website, fixed some wrong documentation and released a new revision.

I'm sorry but I can't work in 4 and 3 at the same time.
 
hi @Rodolfo I have just seen github and I saw that the work progress can also use the labels in issues, in order to know the bugs, the remaining features, improvements, ... it gives an idea of the work that remains.



2350
 
Hello @Rodolfo is what v4 advance towards a release of an update. Because it's been more than two that I buy the script and I can not get any income. I need the features of version 4 to make my activity profitable: payment support, other format support (audio, video ...). Can you please speed up the development?
 
Status
Not open for further replies.
Back
Top