gothinkster / realworld

"The mother of all demo apps" — Exemplary fullstack Medium.com clone powered by React, Angular, Node, Django, and many more
https://www.realworld.how/
MIT License
80.37k stars 7.31k forks source link

V2 Roadmap #693

Closed geromegrignon closed 1 month ago

geromegrignon commented 3 years ago

V2 Roadmap

This issue is dedicated to the Roadmap of the upcoming new version of the specs.

Introduction

Get ready for a new version of the specs!
Since the release of the RealWorld project in 2017, the standards of a modern and 'real world' project have changed. These changes have been partially identified through open issues we need to address right now.

But some of these issues will introduce breaking changes. While it might be easy to deal with such changes for a lot of projects, the nature of the current one is different. By updating the specs, implementations have to be updated accordingly.

As a lot of the listed implementations are currently left unmaintained and as we don't have control over them, we can't rely on them to be updated on their own. These implementations are still viable and valuable.

So by updating the specs, we decided to open the registration of a brand new generation of implementations. We'll create a new list of implementations based on the new specs to showcase them on a dedicated page on CodebaseShow.

This decision is also a great opportunity for this project to provide a more realistic set of specs for more real RealWorld implementations.
Among other things, we want to make front implementations responsive and accessible and to help you to build a community with your implementation.

Here are the reasons for this move and the upcoming state for the current implementations.

Breaking changes

We can't move forward without addressing issues that will introduce breaking changes.

Open source standards

We already made some changes to the project to be closer to open source standards.

We plan to go further by enhancing the current starter kit by including those open source standards.

Github isn't just a tool to host projects so we want to get the most of it through features like Github Actions or Github Apps.

Where can I find the complete list of changes?

Besides the current list of opened issues, we'll open RFC (Request For Comments) issues to engage with the community: we want to allow everyone to contribute to those changes.

This current section will be updated accordingly with links to those RFCs.

Current implementations

We really value the implementations already created.

Several months before releasing the new specs, we'll invite maintainers of the current implementations to make a choice : to move their implementation to the new specs (we'll remove their implementation from the v1 listing) to create a new repository to host the v2 version of their old implementation

Those implementations will have the priority upon providing updated versions of the current implementations. However, if our request remains unanswered, we'll invite the community to submit new implementations

CodebaseShow changes

On CodebaseShow each version of the specs will have a dedicated listing.

Roadmap

[ACTIVE STEP] Choice of new official implementations (July-August 2021)

To showcase/experiment changes, we need a set of frontend/backend implementations. A RFC is currently open so everyone can give his/her opinion about the best stack to use

Creation of repositories for new official implementations

Based on the previous step, 1 frontend and 1 backend repositories will be created in the Github organization

[ACTIVE STEP] Creation of implementations

An implementation based on the current specs will be added to these repositories.

Adress issues

The maintenance team and any contributor can address current issues by opening Pull Requests in these 2 repositories. a V2 branch will be created in the realworld repository to make changes in the specs for each Pull Request.

FRONTEEND

UI

ROUTING

SECURITY

BACKEND

GLOBAL

Adress Concerns

Besides dealing with current open issues, the goal is to review the existing specs and make them easier to use :

Here are some topics :

It's not a closed list as we'll consider community contributions too. We aren't making those changes for ourselves but the community.

geromegrignon commented 3 years ago

@aisensiy : I'm working on a new section on this issue to give more insights about the changes on the specs.

nettybun commented 3 years ago

Are you asking the community what they consider "real world" for web application development in 2021 compared to the current 2017 spec? Between #693 and #694 I don't see any actual proposals just introductory text...

I was expecting to see a changelog such as:

Are these the kind of changes you're hoping to bring? Or is "V2" only about adopting GitHub Actions/CI.

Thanks!

geromegrignon commented 3 years ago

Hello @heyheyhello, thanks for your questions.

I updated the initial comment to give more insights about the Roadmap. I can't deliver a full changelog as the goal isn't to make the changes I want but the changes the project needs. To achieve this, I'm currently compiling the requests made on all current implementations to give more insights about the changes we can do (and the ones we won't).

About the kind of changes we want to bring, it's indeed more about the specs than the Github platform (Github being a tool to help us to review the implementations proposals).

geromegrignon commented 3 years ago

@aisensiy i updated the original comment about changes.

aisensiy commented 3 years ago

Hmm...It seems not too much upgrade in the backend part. Just kind of fixes...

geromegrignon commented 3 years ago

Hmm...It seems not too much upgrade in the backend part. Just kind of fixes...

Most of the propositions are community ones. I encourage you to open feature requests for upgrades you would like to see added to the v2.

geromegrignon commented 3 years ago

[UPDATE]

geromegrignon commented 2 years ago

Hey @heyheyhello, I started a dedicated and more explicit changelog : https://github.com/gothinkster/realworld/issues/808

adamerose commented 1 year ago

Suggestion - Add light / dark theme toggle

I think using CSS variables for colors in #662 would make this easy.

jaguililla commented 1 year ago

Hello, I'm testing a backend implementation against this Postman collection: https://raw.githubusercontent.com/gothinkster/realworld/main/api/Conduit.postman_collection.json

Will the changes on the API scheduled for the V2 be released on that same collection? Or do I have to change the URL pointing to the acceptance tests?

Thanks!

geromegrignon commented 1 month ago

Discontinued task: we have too many existing implementations for a v2 to be viable, especially knowing most of them are not maintained and maintainers do not answer to update requests.

The project will keep its current shape.