Some might be obvious, and some not. Building small projects on React may not need all of these, but medium and large sized apps can become difficult to handle if you don’t have these 7 pieces in place! Let’s dig into them:
It’s crazy that we still have to explain the importance of documentation in 2021. But yes, it is an essential part of any medium or large scale project. Documentation can save a team thousands of hours of discovery, not only for new programmers or teams joining but for the usual programmers on the job.
Good documentation helps new team members understand a project quickly, and reduces misunderstandings by explaining how things were built.
A Predefined Project Structure
When projects become bigger and bigger, a proper file structure can save you hours of navigation and browsing through files. Choosing and following a scalable pattern can make navigating through a project easier and less of a headache for your dev team.
Every major project needs to have a set of rules that guides developers in terms of how to write code for that project. Why? Because it’s easier to understand a codebase when it’s written following a consistent code style.
Luckily for us, there are cool libraries out there like EsLint and Prettier, that help programmers achieve a consistent style altogether.
UI & Animation Libraries
Your project will certainly require component libraries, both for UI components and animations. To ensure consistency it’s usually better to stick with one library. Material UI and Semantic UI are some of the most well-known UI libraries.
In terms of animations, you can both create them or use awesome libraries like react-transition-group or react-awesome-reveal.
A properly organized project, that follows coding best practices, needs to have its own set of environments such as Development, Staging and Production. Development and Staging environments give programmers the opportunity to try out new features without the risks of doing it on production.
Automating as many tasks as possible is part of the fun of being a developer. When building an app, having a continuous delivery set up will take all worries connected to deployment off your plate. Although dev-ops are usually in charge of this, it doesn’t hurt to be aware of the processes and automations your project is running.
Last but not least! No serious project should go out there without proper testing. Setting up a testing environment is essential for an app and there are some libraries that can help with that, for example react-testing-library, for testing react components and jest, for js unit testing.
At SpaceDev we focus on building and maintaining strong and scalable products, and we’ve found that approach to be the right one time and time again, even when it doesn’t seem necessary. What other key pieces do you think are essential to any React project?