Skip to content

SafeShield2025/safeshieldproject

Repository files navigation

🛡️ SafeShield Project

SafeShield is a comprehensive personal safety application built with Flutter that empowers users to stay safe and informed about their surroundings. The app provides real-time crime data visualization, location-based safety insights, and secure user management features.

✨ Key Features

  • 🗺️ Interactive Crime Map: Visualize crime zones and incidents on Google Maps
  • 🔐 Secure Authentication: Firebase-powered user registration and login
  • ✉️ Email Verification: Secure account verification process
  • 👤 Profile Management: Manage your personal safety preferences
  • 📱 Cross-Platform: Works on Android, iOS, Web, Windows, macOS, and Linux
  • 🔔 Notifications: Stay alerted about safety concerns in your area
  • 📍 Location Services: GPS-based safety recommendations
  • 📊 Crime Data Analysis: Access comprehensive crime statistics and trends

🚀 Getting Started

📋 Prerequisites

Before you begin, ensure you have the following installed:

  • Flutter SDK (version 3.7.0 or higher) - Installation Guide
  • Dart SDK (included with Flutter)
  • Git for version control
  • IDE: Android Studio, VS Code, or IntelliJ IDEA
  • Platform-specific tools:
    • For Android: Android Studio with Android SDK
    • For iOS: Xcode (macOS only)
    • For Web: Chrome browser

📱 Firebase Setup

This app uses Firebase for authentication and data storage. You'll need to:

  1. Create a Firebase project at Firebase Console
  2. Enable Authentication and Firestore Database
  3. Download configuration files:
    • google-services.json for Android (place in android/app/)
    • GoogleService-Info.plist for iOS (place in ios/Runner/)

🔑 API Keys Configuration

Important: API keys are kept secure and not committed to version control.

  1. Set up Google Maps API Key:

    # Copy the template file
    Copy-Item "lib/config/api_keys_template.dart" "lib/config/api_keys.dart"
    
    # Edit the file and add your API key
    notepad "lib/config/api_keys.dart"
  2. Get your API key from Google Cloud Console

  3. Enable required APIs: Maps SDK, Places API, Directions API

📋 Detailed setup instructions: See API_SETUP.md for complete configuration guide.

🔧 Installation & Setup

  1. Clone the repository:

    git clone https://github.com/SafeShield2025/safeshieldproject.git
    cd safeshieldproject
  2. Install dependencies:

    flutter pub get
  3. Verify Flutter installation:

    flutter doctor
  4. Run the app:

    # For default device
    flutter run
    
    # For specific platforms
    flutter run -d chrome      # Web browser
    flutter run -d android     # Android device/emulator
    flutter run -d windows     # Windows desktop
    ```## 📁 Project Structure
    
safeshieldproject/
├── lib/                     # Main Dart source code
│   ├── main.dart           # App entry point
│   ├── login.dart          # Login screen
│   ├── register.dart       # Registration screen
│   ├── home_page.dart      # Main dashboard
│   ├── map_page.dart       # Crime map visualization
│   ├── profile_page.dart   # User profile management
│   ├── email_verification.dart # Email verification flow
│   └── GMAPAPI.dart        # Google Maps integration
├── assets/                 # App resources
│   ├── crime_data.json     # Crime statistics data
│   └── icon/               # App icons
├── android/                # Android-specific code
├── ios/                    # iOS-specific code
├── web/                    # Web-specific code
├── windows/                # Windows-specific code
├── macos/                  # macOS-specific code
├── linux/                  # Linux-specific code
└── test/                   # Unit and widget tests

🛠️ Technologies Used

  • Framework: Flutter & Dart
  • Backend: Firebase (Authentication, Firestore)
  • Maps: Google Maps API
  • Location: Geolocator & Geocoding
  • Notifications: Flutter Local Notifications
  • State Management: Built-in Flutter state management

🔧 Configuration

Google Maps API

  1. Get an API key from Google Cloud Console
  2. Enable Maps SDK for Android/iOS
  3. Add the API key to your platform-specific configuration files

Permissions

The app requires the following permissions:

  • Location access (for safety recommendations)
  • Internet access (for real-time data)
  • Notification permissions (for safety alerts)

🤝 Contributing

We welcome contributions to SafeShield! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow Flutter/Dart best practices
  • Write unit tests for new features
  • Update documentation as needed
  • Ensure code passes all existing tests

📞 Support & Contact

  • Issues: Report bugs or request features via GitHub Issues
  • Discussions: Join community discussions in the Discussions tab
  • Email: Contact the maintainers for urgent matters

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Firebase team for authentication services
  • Google Maps team for mapping capabilities
  • Flutter community for amazing packages and support

Made with ❤️ for personal safety and community well-being

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors