finds.dev← search

// the find

rwieruch/react-redux-soundcloud

★ 281 · JavaScript · updated Oct 2018

📚 Learn React + Redux by building a SoundCloud Client. Full tutorial included. Source Code for main tutorial but also extensions included.

A React and Redux tutorial project that builds a SoundCloud client. base-init/ is the finished app, and each extension-*/ folder applies one refactor (ESLint, Flow, Ducks, Normalizr, redux-observable, CSS Modules) to a full copy of it. It suits developers working through the author's tutorial series, not anyone starting a production app.

- Each extension is a full copy of the project rather than a patch, so you can diff base-init against extension-ducks or extension-normalizr and see exactly what the refactor changes in the state layout.

- base-init/src separates actions, reducers, and stores/configureStore.js, and Stream splits into index.js (container) and presenter.js (pure render) with a spec.js beside it. That is a workable skeleton for a small app.

- The project is small enough to read end to end in an afternoon, which matters more for a tutorial than feature coverage.

- The last push was October 2018. The code predates React hooks and the current Redux Toolkit style, so the patterns are dated even where they still run.

- The app depends on the SoundCloud API, which has restricted access for new developers. Unless you already have a client ID, the project you clone will not load a stream.

- The only spec in the tree is Stream/spec.js. Nothing covers the actions or reducers, which is where most of the logic lives.

- Each extension duplicates the whole project, so a fix in base-init has to be copied by hand into the other folders, and they will drift apart.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →