TrueCritic is a web application that helps users quickly find top-rated restaurants and hotels based on customizable search criteria. Leveraging the Google Places API, it provides an easy way to search by location, rating, price level, and more. TrueCritic is designed with a clean, intuitive interface that lets users navigate with ease and view detailed results directly in Google Maps.
- Search by Location: Enter any location to find restaurants and hotels in the vicinity.
- Advanced Filters: Narrow down results by rating, search radius, and price level.
- Business Links: Click on results to open the business page on Google Maps directly, ensuring quick access to essential information.
- User-Friendly UI: Minimalist design with expandable search options for an enhanced user experience.
- Responsive Design: Optimized for both desktop and mobile devices.
- Frontend: Next.js, React, Tailwind CSS
- Backend: Node.js, Express
- API: Google Places API
Make sure you have the following installed:
-
Clone this repository:
git clone https://github.com/yourusername/truecritic.git
-
Navigate to the project directory:
cd truecritic
-
Install the dependencies:
npm install
-
Set up environment variables:
-
Create a
.env.local
file in the root of the project. -
Add your Google API key:
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=your_google_maps_api_key
- Run the development server:
npm run dev
- Open http://localhost:3000 to view it in the browser.
This project is deployed using Vercel. To deploy:
- Link your GitHub repository to Vercel.
- Add your environment variable
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY
in the Vercel dashboard under Project Settings > Environment Variables. - Vercel will automatically deploy the app when you push changes to the main branch.
- Search for Restaurants or Hotels:
- Choose between "Restaurant" and "Hotel" in the "Place Type" dropdown.
- Enter the location in the format “City, State” or simply a city name.
- Click “Search” to retrieve results.
- View Results:
- Listings will show the name, rating, number of reviews, and price level (if available).
- For Michelin-awarded restaurants, the Michelin badge will be displayed.
- Click on a listing to view it on Google Maps.
- Refine Searches:
- Click “Show Advanced Options” to access additional filters like search radius, minimum rating, and price level.
- Adjust filters and click “Search” again to update the results.
Contributions are welcome! If you'd like to contribute:
- Fork the repository.
- Create a new branch with a descriptive name
- Commit your changes.
- Push the changes to your fork.
- Submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
TrueCritic was developed during HackHarvard 2024. Thanks to the event organizers for providing a space to bring this idea to live.