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.
- 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.
If you wish to develop/contribute PRs to application, follow the steps below:
Before you begin, ensure you have the following installed:
- Flutter SDK: Install Flutter
- Android Studio: Download Android Studio
- Xcode (for iOS development): Install Xcode
- CocoaPods (for iOS): Install CocoaPods
-
Clone the repository:
git clone https://github.com/Rezivure/grid-frontend.git cd grid-frontend
-
Install dependencies:
Run the following command to install the necessary dependencies:
flutter pub get
-
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. -
Platform-specific setup:
-
Navigate to the
ios/
directory:cd ios
-
Install CocoaPods dependencies:
pod install
-
Return to the root directory:
cd ..
No additional setup is required.
-
-
Open Android Studio:
- Open the cloned repository in Android Studio.
- Ensure your Flutter SDK is correctly set up in Android Studio.
-
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.
-
Run the App:
Use the following command in the terminal to build and run the app on the connected device or emulator:
flutter run
- lib/: Contains the main Flutter application code.
- assets/: Stores images, icons, and other assets.
- pubspec.yaml: Defines the dependencies and assets for the project.
We welcome contributions! Please submit a pull request or open an issue to discuss any changes.
This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.