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.
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