Skip to content

Nzhf/Scout-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scout (formerly Place Summarizer) App 🌍✨

A beginner-friendly Flutter application that aggregates Google Maps reviews and uses AI to generate concise conversational summaries.

📱 Features

  • Search Places: Find restaurants, hotels, and more using Google Places API.
  • AI Summary: Get an instant summary of reviews including:
    • 📊 Overall Sentiment (Positive/Negative/Mixed)
    • ✅ Top Pros & ❌ Top Cons
    • 🗣️ Common Themes
    • 📝 Final Verdict
  • Modern UI: Clean Material 3 design with responsive layouts.

🛠️ Setup Instructions

To run this app, you need to set up API keys for Google Maps and Groq AI.

1. Get Google Places API Key

  1. Go to the Google Cloud Console.
  2. Create a new project.
  3. Enable the "Places API (New)" or "Places API".
  4. Go to Credentials and create an API Key.
  5. Copy the key.

2. Get Groq AI API Key

  1. Go to the Groq Console.
  2. Sign up or log in.
  3. Create a new API Key.
  4. Copy the key.

3. Configure the App

  1. Rename the example file:

    • Rename lib/api_keys.dart.example to lib/api_keys.dart
    • Note: Add this file to .gitignore to keep your keys safe if you push to GitHub.
  2. Add your keys:

    • Open the newly renamed lib/api_keys.dart.
    • Replace the placeholder strings with your actual API keys.
class ApiKeys {
  static const String googlePlacesApiKey = 'AIzaSy...'; // Your key here
  static const String groqApiKey = 'gsk_...'; // Your key here
}

🚀 How to Run

  1. Open a terminal in the project folder.
  2. Install dependencies:
    flutter pub get
  3. Run the app:
    flutter run

📂 Project Structure

  • lib/main.dart: Entry point of the app.
  • lib/screens/: Contains the UI screens (HomeScreen, ReviewSummaryScreen).
  • lib/services/: Handles API calls (GooglePlacesService, AIService).
  • lib/models/: Data classes (Location, Review, Summary).
  • lib/api_keys.dart: Configuration file for API keys.

🎓 For Beginners

This code is designed to be easy to read!

  • async/await: Used for network calls so the app doesn't freeze.
  • setState: Used to update the UI when data changes (like showing a loading spinner).
  • Separation of Concerns: Logic is separated from UI (Services vs Screens).

About

Flutter application that aggregates Google Maps reviews and uses AI to generate concise conversational summaries.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors