Welcome to SmartStroll, your personalized travel companion! This application helps you discover the best routes between famous landmarks within a city, optimizing your travel experience based on time constraints and walking distances. Whether you're visiting museums, parks, or monuments, SmartStroll ensures you make the most of your time!
-
Enter Start Address and City
Provide your starting point and the city you want to explore. -
Set Maximum Walking Time
Set how much time you're willing to walk (in minutes), and we'll do the rest! -
Optimized Route
SmartStroll runs Dijkstraโs algorithm to find the best path through the city's landmarks that fits your time constraint. -
Enjoy Your Adventure!
A list of landmarks is displayed in the optimized order โ just follow along and explore!
Hereโs how you can run SmartStroll on your local machine:
- Python 3.x installed on your machine.
- Google Places API Key:
- Go to the Google Cloud Console.
- Create a project and enable the Places API and Geocoding API.
- Generate an API key and restrict it to specific APIs and IPs if needed.
-
Clone the Repository
Open your terminal and run:git clone <repository_url> cd SmartStroll
-
Install Required Dependencies
You'll need Flask and requests to run the app. Install them via
pip:pip install Flask pip install requests
-
Set Up Your API Key
Set your Google Places API key as an environment variable directly from the terminal.
-
For Windows (Command Prompt):
set GOOGLE_API_KEY=your-api-key-here
-
For Windows (PowerShell):
$env:GOOGLE_API_KEY="your-api-key-here"
-
For macOS/Linux/Git Bash:
export GOOGLE_API_KEY=your-api-key-here -
If this method dones't work, update the api_config.py file directly
-
-
Run the Application
Launch the Flask app with:
python app.py
-
Open the App in Your Browser
Once the app is running, open your browser and go to:
http://127.0.0.1:5000
If you encounter any bugs or have suggestions for improvement, please open an issue in the repository or send a pull request.
Get out there and explore the world smarter, one stroll at a time!