In software development, a lot of great quality resources are available, often for free. I’ve been getting feedbacks from developers – at work, online, at meetups – who shared that the hard part is not finding the knowledge but picking one library over an other or putting them all together.
Tutorials explaining a specific problem are all over there, what’s missing is projects examples / courses with a wider point of view.
This is what I decided to do in my latest project: topheman/npm-registry-browser. I respect some constraints that you would get, developing a real-world application, such as:
- external API calls
- using external libraries (UI kits, router, http clients …)
- project setup for development with teams
- code quality (linter, code formatting)
- tests (unit / end to end)
- automation / dev pipeline
The project itself is a Single Page Application that lets you search for packages in the npm registry and show details for each one of them such as the readme, the versions, the stats … In fact, this project is just an excuse to expose how to put together all those technologies I mentioned above.
PS: This project is based on create-react-app and remains unejected. It was a constraint I imposed myself from the start. I never used CRA before (I have my own webpack starter-kit), so I wanted to test it to be able to tell what’s possible to do with it and what is not.
PPS: I chose not to use Redux, at least, not in that first version because … You might not need Redux (explanation) …
This post was originally posted on my blog.