{"id":13534083,"url":"https://github.com/adityaoberai/SOS-MAUI","last_synced_at":"2025-04-01T22:31:13.465Z","repository":{"id":114528947,"uuid":"591377929","full_name":"adityaoberai/SOS-MAUI","owner":"adityaoberai","description":"App that lets a user send an SOS message to a saved contact","archived":false,"fork":false,"pushed_at":"2023-02-09T14:19:59.000Z","size":217,"stargazers_count":30,"open_issues_count":4,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T07:36:33.961Z","etag":null,"topics":["appwrite","appwrite-function","dotnet","dotnet-maui","radar","sos","twilio","twilio-sms"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adityaoberai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-01-20T15:58:33.000Z","updated_at":"2025-03-10T13:54:35.000Z","dependencies_parsed_at":"2023-06-08T18:30:15.776Z","dependency_job_id":null,"html_url":"https://github.com/adityaoberai/SOS-MAUI","commit_stats":{"total_commits":15,"total_committers":1,"mean_commits":15.0,"dds":0.0,"last_synced_commit":"83cad76e8d7d9ff9437c0c0e1789ec08b2bf81ce"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adityaoberai%2FSOS-MAUI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adityaoberai%2FSOS-MAUI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adityaoberai%2FSOS-MAUI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adityaoberai%2FSOS-MAUI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adityaoberai","download_url":"https://codeload.github.com/adityaoberai/SOS-MAUI/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246720487,"owners_count":20822913,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appwrite","appwrite-function","dotnet","dotnet-maui","radar","sos","twilio","twilio-sms"],"created_at":"2024-08-01T07:01:26.188Z","updated_at":"2025-04-01T22:31:13.224Z","avatar_url":"https://github.com/adityaoberai.png","language":"C#","readme":"# SOS App\n\n![SOS-Maui](https://user-images.githubusercontent.com/31401437/214029540-d7256f29-561d-4135-aa4e-e958b55ab7ad.png)\n\n## Description\n\n**SOS App** is a cross-platform app that allows the user to send an SOS message with their location to a saved phone number in times of distress.\n\n##  Components\n\n* The [`main`](https://github.com/adityaoberai/SOS-MAUI) branch contains the **.NET MAUI 6** project used to build the app that gets the coordinates of the phone through the **.NET MAUI Essentials Geolocation API** and call the SOS **Appwrite Function**. \n\n* The [`appwrite-function`](https://github.com/adityaoberai/SOS-MAUI/tree/appwrite-function) branch contains the **Appwrite Function** that reverse geocodes the coordinates to get the address from the **Radar Geocoding API** and uses **Twilio Programmable Message** to send an SOS message to predecided number.   \n\n\n## Demo\n\nhttps://user-images.githubusercontent.com/31401437/214066632-527eb619-b7f4-44e3-b0cc-c7b0e163f513.mp4\n\n## Steps To Setup\n\n### For SOS Appwrite Function\n\n* [Setup an Appwrite instance](https://appwrite.io/docs/installation), create a new admin account and a new project\n  * Enable the **.NET 6.0 runtime for Appwrite Functions** (check the note below)\n* [Install the Appwrite CLI](https://appwrite.io/docs/command-line#installation) and login with your Appwrite credentials\n* Create an account on [Twilio](https://twilio.com), obtain your Twilio Account SID and Auth Token from your Twilio console, and await a Phone Number (using this [guide](https://support.twilio.com/hc/en-us/articles/223135247-How-to-Search-for-and-Buy-a-Twilio-Phone-Number-from-Console))\n* Create an account on [Radar](https://radar.com) and grab an API key (*Test secret(server) should be fine*)\n* Visit the SOS Appwrite Function Readme in the [`appwrite-function`](https://github.com/adityaoberai/SOS-MAUI/tree/appwrite-function) branch for more details on setting up and deploying the function\n  * Visit the SOS Function's Settings page and add **Execute Access** for `any` role\n\n\u003e Note: In order to enable the .NET runtime for Appwrite Functions, you need to update the `.env` file in the Appwrite installation folder. Find the file and add `dotnet-6.0` to the comma-separated list in the environment variable `_APP_FUNCTIONS_RUNTIMES`. This will make the .NET runtime available in Appwrite Functions. You can then load the updated configuration using the `docker-compose up -d` command.\n\n### For .NET MAUI App\n\n* Install latest version of **Visual Studio 2022** with the **.NET Multi-platform App UI development workload** ([Reference](https://learn.microsoft.com/en-us/dotnet/maui/get-started/installation?view=net-maui-6.0\u0026tabs=vswin))\n* Clone this repo\n* Open the `SOS\\` folder and run the following command\n  ```sh\n  dotnet restore\n  ```\n* Visit the `SOS\\Constants` folder and create a class `AppwriteConstants.cs` as follows:\n  ```csharp\n  namespace SOS.Constants\n  {\n      public static class AppwriteConstants\n      {\n          public const string AppwriteUrl = \"\u003cEnter Appwrite API Endpoint\u003e\";\n          public const string ProjectId = \"\u003cEnter Appwrite Project Id\u003e\";\n          public const string FunctionId = \"\u003cEnter Appwrite Function Id\u003e\";\n      }\n  }\n  ```\n* Build your app and deploy it to your preferred mobile platform ([Reference](https://learn.microsoft.com/en-us/dotnet/maui/get-started/first-app?view=net-maui-6.0\u0026tabs=vswin\u0026pivots=devices-android))\n\n## Attribution\n\nThanks to Freepik for the [menu](https://www.flaticon.com/free-icon/menu_2976215), [settings](https://www.flaticon.com/free-icon/setting_2040504), and [sos](https://www.flaticon.com/free-icon/sos_2133802) icons used in the flyout menu in the app\n","funding_links":[],"categories":["Showcase (Built with Appwrite 📣)","Samples"],"sub_categories":[".NET"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadityaoberai%2FSOS-MAUI","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadityaoberai%2FSOS-MAUI","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadityaoberai%2FSOS-MAUI/lists"}