// the find
rwieruch/react-redux-soundcloud
📚 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.