Crunchy is a "find nearby places" app built with Next.js, React.js, JavaScript, Tailwind CSS, Google Places API, and Google Maps API.
Why this stack? I have decided to use Next.js to render the pages statically, React.js to build the user interface, JavaScript, Tailwind CSS to style the application, and Google Places API and Google Maps to power the search functionality.
I started by writing down in my notebook what features I wanted.
I obviously started by setting up Next.js and the folder strucutre, then continued with the Tailwind CSS. Next, I set up the Side Nav Bar, the Search Bar, and the Category List, then focused on the Business List component.
Then it was the bigger part of the project, generate the Google Places API and getting and fetching places from the API. I then added the Shimmer Effect to give the impression of data loading.
The most challenging part was figuring out how to calculate the distance. One new thing I learned was indexing in Google Places API. That was new to me and something I can take with me into the future.
To run the project in your local environment, follow these steps: