Check out my React Star Wars App live. This project utilizes:
- React Hooks
- React Redux Toolkit: After researching for options regarding global state management, 2 common options were using Redux and Context API. I chose to use Redux over Context since Redux was commonly recommended for larger applications involving many team members, and Context was recommended for smaller apps with a smaller team. After researching more about Redux, I discovered Redux toolkit and decided to go that route since it removes a lot of boilerplate code, keeps global state management more simple versus the traditional Redux way, and is becoming more and more popular due to these reasons.
- React Testing Library/Jest: After researching for React testing options, React Testing Library and Jest seemed to be popular tools and already comes with create-react-app so I decided to use it.
- React Router: Came across React Router when researching how to deal with page routing and decided to use it since it seems like a popular React tool.
- Fetch and Star Wars API: From researching, it seems the 2 common ways to make HTTP requests is by using the Fetch API and Axios. I decided to use the Fetch API because I already have experience using it on past projects.
- CSS animation and responsive design: Found the Star Wars animation open source code online and had to customize it to make it work with the navbar.
- Search bar: Found a tutorial online for a dynamic search bar and customized the implementation to make it work for this application.