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

The reference backend is not responding #700

Closed
mvila opened this issue Jul 29, 2021 · 24 comments
Closed

The reference backend is not responding #700

mvila opened this issue Jul 29, 2021 · 24 comments

Comments

@mvila
Copy link
Member

mvila commented Jul 29, 2021

The reference backend (https://conduit.productionready.io/api) is not responding and therefore most frontend implementations are broken! 😢

We are desperately trying to contact the maintainer of this backend and find a solution as soon as possible.

We are very sorry for the inconvenience. Thank you for your patience.

@mvila mvila pinned this issue Jul 29, 2021
@mvila mvila changed the title The reference backend (https://conduit.productionready.io/api) is not responding The reference backend is not responding Jul 29, 2021
@mvila mvila unpinned this issue Jul 31, 2021
@xuchaobei
Copy link

Is there any progress ?

@tiagon97
Copy link

Yesterday was ok, today seems that problem still exists.

@mvila
Copy link
Member Author

mvila commented Jul 31, 2021

Right now, the backend is responding normally. It is possible that it is under an intermittent DoS attack. We could reach the maintainer, but, unfortunately, he will not be able to do anything before Monday.

@Allianzcortex
Copy link

Allianzcortex commented Aug 3, 2021

it used to be totally broken but now it seems fixed while hanging forever. Thanks for all ur efforts to maintain this backend implementation ( : -

@Roynet825
Copy link

Still very slow, hardly get data from API...

@Allianzcortex
Copy link

Still very slow, hardly get data from API...

Yeah , only works occasionally and unstable. One suggestion here is to run a daemon scripts every day to keep posts amount below the threshold since this is an API used for demonstrating the usage of frameworks rather than a real commercial one. ( prerequisite is that we can get the access tho ( :-

@mvila
Copy link
Member Author

mvila commented Aug 10, 2021

@apai4 I think you are in charge of this backend and we really need your help there. If you are too busy to take care of it, could you please give us (@geromegrignon or me) access to the subdomain conduit.productionready.io so that we can deploy a new backend? Or, if you prefer, we can deploy a new backend first and you'd just have to make the necessary changes so that conduit.productionready.io points to it. You can reach me at hi@mvila.me. Thanks.

@geromegrignon
Copy link
Contributor

Still very slow, hardly get data from API...

Yeah , only works occasionally and unstable. One suggestion here is to run a daemon scripts every day to keep posts amount below the threshold since this is an API used for demonstrating the usage of frameworks rather than a real commercial one. ( prerequisite is that we can get the access tho ( :-

Indeed, the purpose of this API is to provide a demo.
But no update occurred since it was released a few years ago.

We don't plan to move it to a more scalable solution (for money reasons).
But I want to create a webcontainer sample with stackblitz to provide a way to run locally an API as a workaround (with the benefit of running into the browser without installation requirements).

@bondar-artem
Copy link

@geromegrignon
Could you provide the source code to the backend of conduit.productionready.io/api? Better if there would be a Docker container that anyone can spin up on the localhost and use for application without calling actual API.
Thumbs up if you like the idea.

@geromegrignon
Copy link
Contributor

@geromegrignon
Could you provide the source code to the backend of conduit.productionready.io/api? Better if there would be a Docker container that anyone can spin up on the localhost and use for application without calling actual API.
Thumbs up if you like the idea.

It's an awesome idea!

The deployed backend is from the rails implementation: https://github.com/gothinkster/rails-realworld-example-app/tree/master

@bondar-artem
Copy link

@geromegrignon
Thank you for the repo! I was trying to run it on my Mac, unfotunately no luck... Looks like it's too old and have bunch of old dependencies that have compatibility issues..
As far as I was able to go is just successfully make "bundle install" using Ruby 2.6.4 and rails 4.2.6. But stuck on "rake db:migrate" with error "rake aborted!" and any meaningful descriptoion why.

I have tried the branch "rails-5.1" brans but that didn't work because it has a reference to the repo that does not exist anymore, which is this one "https://github.com/gogovan/devise.git"

Could you maybe take a look in the project and check if it's possible to update to make it work? Then I can try to wrap it into Docker and publish the image.

@geromegrignon
Copy link
Contributor

@Postavshik I never used Ruby so I won't be that useful.

I'm fine with creating the docker image with another backend listed on CodebaseShow.
Just make sure it passes the Postman collection tests (instructions here).

@cirosantilli made a great contribution to improve it to tests backend implementations.

@cirosantilli
Copy link
Contributor

cirosantilli commented Aug 17, 2021

BTW, I would recommend using a Node.js + Express.js + Sequelize as the reference due to the popularity of Node.js and the other elements of the that stack. I think Node.js is already making/will inevitably make Ruby/Rails disappear moving forward. Uber subjective of course.

This is the backend I've been using: https://github.com/cirosantilli/node-express-sequelize-realworld-example-app and which works out of box on Ubuntu 21.04 and passes all postman tests.

Sequelize (SQL ORM) over mongodb (used on top starred Node.js backend: https://github.com/gothinkster/node-express-realworld-example-app ) is more portable, in particular since mongo now has licensing issues, so is not being shipped anymore on major distros as easily, and does not have a free Heroku plan anymore either. Also it allows using SQLite as a local development database, so you don't need to setup any local db servers which is great.

@geromegrignon
Copy link
Contributor

I was indeed considering Node.js + Express.js.
About the ORM, I was taking a look at Prisma as an alternative.

@geromegrignon
Copy link
Contributor

Quick update,

I'm working on a new backend implementation to deploy it as soon as possible.
It'll be a temporary solution while waiting for access to the real-world domain.

I still have some bugs to fix (the postman collection helping me a lot):
image

Once live, I'll update the documentation.

@geromegrignon
Copy link
Contributor

geromegrignon commented Aug 23, 2021

Here is the URL of the new API: https://realworld-temp-api.herokuapp.com/api
Keep in mind it's a temporary one. The goal is to deploy it to the existing productionready.io domain for existing implementations relying on it.
The API is deployed for free on Heroku, meaning the server sleeps after 30 minutes of inactivity.
So you may encounter latency on the first request on it (few seconds).

Besides applying to the current specs, this API includes:

related to #708

Make it work, make it right, make it fast

Make it work

The new API passes the Postman collection.
Would you please open an issue if you find out a bug?

Make it right

I'll spend next week cleaning the code.
Once done, I'll open source it.

Make it fast

As explained earlier, the API sleeps after 30 minutes of inactivity.
Would you please open an issue if you encounter any additional latency on requests?

Limitations

The API is deployed on a free account on Heroku with row and connection limits.
Thanks to sponsors, the plan is to move to a production solution on Heroku while limiting the costs.
Meanwhile, please keep in mind this new API is a workaround for current issues.

@Allianzcortex
Copy link

Here is the URL of the new API: https://realworld-temp-api.herokuapp.com/api
Keep in mind it's a temporary one. The goal is to deploy it to the existing productionready.io domain for existing implementations relying on it.
The API is deployed for free on Heroku, meaning the server sleeps after 30 minutes of inactivity.
So you may encounter latency on the first request on it (few seconds).

Besides applying to the current specs, this API includes:

related to #708

Make it work, make it right, make it fast

Make it work

The new API passes the Postman collection.
Would you please open an issue if you find out a bug?

Make it right

I'll spend next week cleaning the code.
Once done, I'll open source it.

Make it fast

As explained earlier, the API sleeps after 30 minutes of inactivity.
Would you please open an issue if you encounter any additional latency on requests?

Limitations

The API is deployed on a free account on Heroku with row and connection limits.
Thanks to sponsors, the plan is to move to a production solution on Heroku while limiting the costs.
Meanwhile, please keep in mind this new API is a workaround for current issues.

awesome job ! ! I just update my project with new API here : https://react-typescript-hooks-realworld.vercel.app/ and find that for retrieving feed&tags , we still need to get authorized. This seems an unexpected behaviour ?
image

@geromegrignon
Copy link
Contributor

@Allianzcortex
Authentication isn't required on the feed (global feed, the personal feed still need authentication) and on tags.
I can't reproduce it on Postman and by using the swagger on https://realworld-temp-api.herokuapp.com/api-docs

@Allianzcortex
Copy link

@geromegrignon yeah,very weird one. After cleaning up my old token and it works well. NVM ( - :

@geromegrignon
Copy link
Contributor

@Allianzcortex

I still need to fix:

  • personal feed not retrieving data
  • tags not being deleted on article deletion

@Allianzcortex
Copy link

Allianzcortex commented Aug 23, 2021

@geromegrignon feel it's better if we open another issue for the new API discussion. Here just curious that, for comments, the return format is :
image

{"comments":{"comments":[]}}

If it has passed all the postman tests then it should be np 😀, however here I guess it may be :

{"comments":[]}

My current implementation is broken for this
image

it says map is not a function.

@geromegrignon
Copy link
Contributor

@Allianzcortex I fixed it.

@geromegrignon
Copy link
Contributor

You can submit and track issues related to this new API on #712

@geromegrignon
Copy link
Contributor

Resolved with a new API release.

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

8 participants