I created a clone of the YCombinator HackerNews website using their official REST API endpoints using the React.js framework. Because this was a learning experience, I also decided to setup the project without the help of the create-react-app CLI tool. This way, I get to practice using Webpack more.
I learned some basic React.js recently, and to apply my newfound knowledge, I decided to create this HackerNews clone website. In other words, this was my first time creating a website using React.js. With that in mind, everything was new to me and introduced some small challenges along the way. Coming from a Vue.js background, this helped speed things up significantly.
If I were to redo this project using React.js again, what I would do is make a generic page component which will handle all the page views under a single file. Then, I would have a single component for each "post" item layout since not all the items displayed on each page are formatted the same. By doing it this way, it should shrink the site down in size. Another thing I would do differently would probably tackle the issue of waiting for the items to load. What I would do is when the user visits the site for the very first time, it would do things normally. Next, instead of calling the API routes again whenever the user returns to that page, I would have the webapp store that data on the user's browser (ex: localStorage). That way, it will improve the overall user experience. I would then have the webapp do a new API call per new browser session or every X interval of time to tackle the scenario of new content showing up.
Interested in working with me? Let's have a quick chat, and see how we can make your project come to life. :)