Azure Functions + Azure Table Storage + Azure Blob Storage + Azure CDN + Twilio API + Vue SPA to send hourly, crowd-sourced, text-based reminders, updated simultaneously by everyone in the world, to one person in particular in need of reminding.
Formerly available at https://www.remindjames.com
View the resources.md for some of the tutorials, quickstarts, documentation, and troubleshooting used in working on this project.
- Azure Storage Explorer
- Postman
- Visual Studio Code
.vscode/extensions.json
will reccomend two extensions: - Vue Dev Tools
-
Add a
local.settings.json
file (contains keys so removed by.gitignore
){ "IsEncrypted": false, "Values": { "AzureWebJobsStorage": "", // Azure > Function Apps > Application Settings "AzureSignalRConnectionString": "", // Azure > Signal R > Keys "TwilioAccountSid": "", //https://www.twilio.com/console "TwilioAuthToken": "", //https://www.twilio.com/console "TwilioPhoneNumber": "", //https://www.twilio.com/console/phone-numbers/incoming "FUNCTIONS_WORKER_RUNTIME": "dotnet" }, "Host": { "CORS": "*" } }
Download and install the SDK for .NET Core 2.1.0+
macOS - Use Homebrew
brew tap azure/functions
brew install azure-functions-core-tools
Windows - Use npm
npm install -g azure-functions-core-tools@core
Install via
dotnet add package Microsoft.Azure.WebJobs.Extensions.Storage
dotnet add package Microsoft.Azure.WebJobs.Extensions.Twilio
dotnet add package Microsoft.Azure.WebJobs.Extensions.SignalRService -v 1.0.0-preview1-10025
dotnet restore
dotnet build
func start
cd wwwroot
#python -m SimpleHTTPServer 8002
live-server --host=localhost --port=8002
-
Copy any params from
local.settings.json
to Functions > Settings
- Add files to blob storage container
- Cache bust the CDN
- Should be visible on Custom Domain