gothinkster / realworld

"The mother of all demo apps" β€” Exemplary fullstack Medium.com clone powered by React, Angular, Node, Django, and many more

Home Page:https://www.realworld.how/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

πŸ–₯ πŸ”§ Svelte

EricSimons opened this issue Β· comments

Current Status

Todo:

  • 🏁 Fork the starter repo & post the link in this issue
  • 🎨 Create logo for repo & update issue status (@EricSimons)
  • πŸ”¨ Implement all of Conduit's functionality per the spec & API
  • πŸ‘€ Move repo to main org & Peer review final codebase by admins/community (RFC)
  • πŸŽ‰ Tag v1 release and officially list it on the README!

Yes! This sounds like a great idea. I'm on vacation at the moment but let me see if anyone out there is up for making a start on this

Svelte beginner here. Not sure if can do this fully on my own, as i have not much idea about routing and data access part. But will be happy to contribute to the project.

@esakkiraj okay! I say go ahead and get started, and when you run into things you need help on, lets ping @Rich-Harris and see if he (or someone he knows in the Svelte community) can help answer your q's :)

@EricSimons Okay then. I will start working on this. πŸ‘

@esakkiraj ping me if you need any help

@esakkiraj Have you forked the starter repo yet? If so, can you drop a link so we can add it to this issue?

@silentworks Sure. Thanks

@BRWR Yes i have forked. Have started the work. But havent' pushed the changes yet. Repo Link

@esakkiraj just updated issue status w/ gitter room! Also, created this logo you can use for the readme:

svelte

Hey all β€” just to let you know I spent the day working on a Sapper implementation of this (Sapper is a Next.js-style framework for Svelte that's currently in development).

It's not quite finished, but it's most of the way there.

@Rich-Harris woah, this is awesome! Great work! Lmk once it's completely there and I'll list it on the main readme πŸ‘

I think this is basically done β€” if you could add it to the official list, that'd be great, thanks!

A question: how much freedom do we have to interpret the requirements? I ask because I have an alternative version here: https://svelte-realworld-oegnyylkph.now.sh. (It seems to be a bit flaky at the moment but I think that's https://conduit.productionready.io/api, which appears to be having some problems β€” other implementations seem to be affected too).

The main difference is that there are some new routes:

  • /feed/latest/[page] (replaces /)
  • /feed/global/[page]
  • /tag/[name]/[page]
  • /user/[username]/posts/[page] (replaces /@[username])
  • /user/[username]/favorites/[page] (replaces /@[username]/favorites)

As well as deeplinking, this makes it easy to server-render those pages (with Sapper, you get SSR for free), and prefetch them when the user is about to tap on a link. Personally I think it results in a snappier-feeling app than flickering between an article list and '...loading articles', though that's possibly subjective.

@Rich-Harris awesome work! Adding this to the readme now πŸ‘

Btw what problems are you running into with the public API endpoint? We haven't seen/heard of any issues with it as of late πŸ€”

Thanks!

I'm seeing a lot of this sort of thing, but it's sporadic and unpredictable:

screen shot 2018-01-02 at 5 17 33 pm

Wow, super weird - cc/ @apai4 (creator/maintainer of the public api server)

BTW all of your ux/route/etc changes are totally fine- forgot to mention that in my last comment :)

@Rich-Harris @EricSimons the 429 error is from rate limiting on the API to help prevent spam/abuse, since every once in a while the front pages get flooded with inappropriate content. I just increased the number of requests per minute allowed so let's see if that decreases the number of errors we see.

@apai4 thanks β€” that may be partly my fault then, Sapper can do prefetching of links when you mouseover them (with <a rel=prefetch...>) which was presumably triggering too many requests as my mouse brushed over articles/pagination links. Will experiment with removing rel=prefetch or tweaking the behaviour to e.g. prevent prefetching while the mouse is still moving.

BTW all of your ux/route/etc changes are totally fine- forgot to mention that in my last comment :)

Thanks β€” will switch it over to the new branch once I've made those prefetch changes.

commented

Shouldn't this be removed from the work in progress section as it's alreaday in the "frontend grid"?