Sound Radar is a Flutter application that allows users to discover and share music based on their geographical location. Users can see what others are listening to on a map and share their own favorite songs. The app leverages Gemini for an enhanced experience.
- User Authentication: Secure login to the application.
- Interactive Map: View and share music on an interactive map.
- Real-time Geolocation: Discover music being played around you in real-time.
- User Profiles: Create and manage your user profile.
- Song Sharing: Share your favorite songs with others.
- AI-Powered Features: Enhanced experience with Gemini.
- Flutter: An open-source UI software development kit created by Google.
- Dart: The programming language used for Flutter development.
- flutter_map: A versatile and customizable map plugin for Flutter.
- geolocator: A Flutter plugin for easy access to platform-specific location services.
- latlong2: A library for geographical coordinate calculations.
- Gemini API: Integration with Google's Gemini for AI-powered features.
To get a local copy up and running, follow these steps.
- Flutter SDK: Installation Guide
- A Gemini API key
- Clone the repository:
git clone https://github.com/your_username/sound_radar.git
- Navigate to the project directory:
cd sound_radar/sound_radar - Create your local environment file:
cp .env.example .env
- Add your Gemini API key to
.env:GEMINI_API_KEY=YOUR_API_KEY
- Install dependencies:
flutter pub get
- Run the application:
flutter run
The app loads the Gemini key from sound_radar/.env using flutter_dotenv.
- Copy
sound_radar/.env.exampletosound_radar/.env. - Replace
YOUR_API_KEYwith your real Gemini API key. - Keep
sound_radar/.envout of git. The repository already ignores it.
The lib folder contains the main source code of the application, organized as follows:
lib/
|-- config/ # Configuration files
|-- models/ # Data models (e.g., User, Song)
|-- screens/ # UI screens (e.g., Login, Map, Profile)
|-- services/ # Business logic and services (e.g., Gemini service)
|-- theme/ # Application theme and styling
|-- widgets/ # Reusable UI components
`-- main.dart # Main application entry point
Distributed under the MIT License. See LICENSE for more information.