Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Project Roadmap #663

Open
geromegrignon opened this issue Apr 29, 2021 · 5 comments
Open

Project Roadmap #663

geromegrignon opened this issue Apr 29, 2021 · 5 comments

Comments

@geromegrignon
Copy link
Contributor

geromegrignon commented Apr 29, 2021

As stated here :

Most of the maintainers of this project have slowly gotten busy with other things and haven't been able to keep up as of late (this includes and is really referring to myself).
I still think this project can provide a lot of value to people so it's a bit of a shame to see the issues piling up.

New maintainers have been onboarded lately to address the current situation (including me and @mvila). Our goal is not only to update the current list of implementations with ongoing submissions but also to answer issues and feature requests.

Here are some changes we plan to apply to the project.
As we are still defining the new roadmap of the project, this issue will be updated from time to time.

Maintenance of GoThinkster implementations

Current state

When this project came out, as a way to demonstrate implementations, several repositories have been created into the GoThinkster organization, featuring a frontend or backend language/framework :

Node/Express
Ember
React/Redux
Angular
Vue
..

Beyond this list, several community implementations have been added to the GoThinkster organization.

Most of these implementations (former ones and community ones) are left unmaintained. While maintainers have been fully dedicated to this project, they now are busy with other projects and can’t contribute to it anymore.

These projects still work (the demo is based on the angularjs implementation and the API based on the rails one) and follow the current specs but they don’t use the latest versions of the related language/framework: there are ‘RealWorld’ but not so modern implementations.

There are over 500 issues/pull requests opened on the related repositories.

Our goal

We don’t plan to maintain and admin these projects.

Having to maintain a given list of implementations means the maintenance team is tied with the skills required over a large number of repositories. Given the large scope of ‘official’ implementations, it’s hard to guarantee such an organization would work (as it failed once already).

To fix the current situation, we decided not to maintain them (i wouldn’t say ‘anymore’ as, as a new maintainer team, we never maintained them previously).

Our plan is to replace them with community implementations.
If you want to contribute to this effort, we encourage you to submit a related implementation.

Provide up to date implementations

Current state

A lot of listed implementations aren’t up to date with the language/framework latest versions.

Our goal

The maintainer of implementation should keep an eye on new versions.
At some point, we might consider removing an implementation to price an up-to-date one.

Official implementations

Current state

The deployed api is the rails implementation.
The front end deployed is the angularjs.

Our goal

While we don’t plan to maintain current implementations, we need to keep a frontend and a backend implementation up to date to :

  • illustrate how the specs are used
  • to test future versions of the specs

We plan to create and maintain 1 frontend and 1 backend implementation to do so.
We still need to consider which language/framework we will use as we don’t want them to be gatekeepers for new maintainers.

The criteria being :

  • using popular language/framework
  • be as agnostic as possible
  • avoid language/framework having regular breaking changes on new versions
  • avoid language/framework having a lot of new versions
  • favor code readability

There is an open RFC going on #694

Issue Triage

Current state

The issues panel includes :
bug reports
feature requests
open discussions
implementations requests
implementations wip
implementations review requests

Our goal

We are happy to welcome new implementations and to give a space for work in progress implementations to let the community be aware of them. However, a lot of these projects are still WIP after a few years.

We chose to close WIP Issues and to invite creators to open a related discussion on Github Discussions.
Github allow to move an issue to Github Discussions but us ch a move was also a way to clear up abandoned projects.

Implementation submission workflow

Current state

You currently need to open an issue whether:

  • to let the community know there is a work in progress
  • to ask the maintainer team to add it to the list of implementations once done

Our goal

We want to simplify the current workflow and enhance it with new features.

About Work in progress

The ‘work in progress’ implementations are now moved to Github Discussions.

About submissions

The submission is now available on CodeBaseShow.

New version of the specs

Current state

There are a lot of issues we can't address right now because it would integrate breaking changes for current implementations.
We need to consider feature requests to make the specs more 'real'.

Our goal

The best way to answer such solicitations is to work on a brand new version of the spec.
We'll open a related issue soon to give you more insights about that.
We'll be open to ideas and suggestions.

Testing

Current state

We provide a way to test the API

Our goal

We want to provide a way to test the frontend too.

Open Source standards

Current state

The standards of a healthy open source project have evolved since the project has been created.

Our goal

We want to provide a better experience for contributors by adding :

  • a more complete contributing guide
  • issues template
  • pull request template

A code of conduct has already been added.

We plan to update the Readme as well to challenge current content.

@plusgut
Copy link

plusgut commented May 23, 2021

That is amazing! I'm glad some live gets put into this project again

@alexeymezenin
Copy link

Hi Gerome. Thanks for the great project.

I wonder do you have plans for starting a new real-world app project? I would like to build a Laravel version of it.

@geromegrignon
Copy link
Contributor Author

Hey @alexeymezenin,

If new real-world app project is about another project idea, that's a no.
We don't have current and future plans for another app.

@alexeymezenin
Copy link

Got it. Thanks.

@geromegrignon
Copy link
Contributor Author

To keep track of updates on this project as it involves more than 1 repository, I created a related category in GitHub Discussions where you'll find weekly updates: https://github.com/gothinkster/realworld/discussions/categories/weekly-updates

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants
@plusgut @alexeymezenin @geromegrignon and others