Skip to content

Grid: Private Location Sharing mobile app for iOS/Android. E2EE with Matrix.

License

Notifications You must be signed in to change notification settings

Rezivure/grid-frontend

Repository files navigation

Grid - Encrypted Location Sharing

Be Hard to Track.

Logo Grid

GitHub Repo stars Twitter Follow License

Grid is a secure, end-to-end encrypted (E2EE) location sharing application integrated with the Matrix Protocol. Built using Flutter, Grid provides a privacy-focused solution for sharing your location with trusted contacts.

appstore

Features

  • End-to-End Encryption (E2EE): All location data shared through Grid is encrypted to ensure privacy and security.
  • Matrix Protocol Integration: Grid leverages the Matrix protocol for secure communication and decentralized data storage.
  • Cross-Platform: Developed with Flutter, Grid runs seamlessly on both Android and iOS devices.
  • Real-Time Location Sharing: Share your real-time location with friends or groups, with fine-grained control over who can see your location.
  • Self-Hosted Capability Grid is designed to enable users to easily self host their own backend server and map tile provider for complete control over how they share.

Roadmap

appstore

Getting Started With the App

If you wish to develop/contribute PRs to application, follow the steps below:

Prerequisites

Before you begin, ensure you have the following installed:

Installation

  1. Clone the repository:

    git clone https://github.com/Rezivure/grid-frontend.git
    cd grid-frontend
  2. Install dependencies:

    Run the following command to install the necessary dependencies:

    flutter pub get
  3. Set up environment variables:

    Copy the example environment configuration and modify it with the appropriate URLs:

    cp .env.example .env

    Edit .env to configure your API and server URLs.

  4. Platform-specific setup:

    For iOS:

    • Navigate to the ios/ directory:

      cd ios
    • Install CocoaPods dependencies:

      pod install
    • Return to the root directory:

      cd ..

    For Android:

    No additional setup is required.

Running the App

  1. Open Android Studio:

    • Open the cloned repository in Android Studio.
    • Ensure your Flutter SDK is correctly set up in Android Studio.
  2. Set Up Emulator or Physical Device:

    • Create an Android Emulator or connect a physical device.
    • Ensure the device is running and detected by Android Studio.
  3. Run the App:

    Use the following command in the terminal to build and run the app on the connected device or emulator:

    flutter run

Project Structure

  • lib/: Contains the main Flutter application code.
  • assets/: Stores images, icons, and other assets.
  • pubspec.yaml: Defines the dependencies and assets for the project.

Contributing

We welcome contributions! Please submit a pull request or open an issue to discuss any changes.

License

This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.