Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/DanielRBowen/TimeMage
A Blazor PWA which has Timers, Stopwatches, and Interval Timers.
https://github.com/DanielRBowen/TimeMage
aot azure-cognitive-services blazor cache-storage csharp css download howler howlerjs html interval-timer json netcore netcore6 pwa stopwatch timer user-secrets wasm
Last synced: about 2 months ago
JSON representation
A Blazor PWA which has Timers, Stopwatches, and Interval Timers.
- Host: GitHub
- URL: https://github.com/DanielRBowen/TimeMage
- Owner: DanielRBowen
- Created: 2020-06-08T19:26:25.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-11-14T20:46:43.000Z (about 1 year ago)
- Last Synced: 2024-08-01T02:27:37.959Z (5 months ago)
- Topics: aot, azure-cognitive-services, blazor, cache-storage, csharp, css, download, howler, howlerjs, html, interval-timer, json, netcore, netcore6, pwa, stopwatch, timer, user-secrets, wasm
- Language: C#
- Homepage:
- Size: 1.53 MB
- Stars: 5
- Watchers: 4
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TimeMage
A Blazor PWA which has Timers, a Stopwatch, and Interval Timers.I made this to learn Blazor and make a multiple timer application and interval timer to do High-Intensity Interval Training (HIIT) workouts
without having to pay $5 for an interval timer app or see ads on a multiple timer app.You will need [.Net 6](https://dotnet.microsoft.com/download/dotnet/6.0) installed for this project. And the latest [Visual Studio 2022 Preview](https://visualstudio.microsoft.com/vs/preview/)
This project uses [Azure Cognitive Speech Services](https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/)
which you can see a quick start [here](https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/text-to-speech-basics?tabs=import&pivots=programming-language-csharp).I stored the subscription key and region of the Azure Cognitive Speech Services as [user-secrets](https://docs.microsoft.com/en-us/aspnet/core/security/app-secrets?view=aspnetcore-6.0&tabs=windows).
I placed them in appsettings.json when publishing to Azure. Like this:```
"Speech": {
"SubscriptionKey": "[Your Subscription Key]",
"Region": "[Your Region]"
},
```Also, uses [BlazorAudioPlayer](https://github.com/soend/BlazorAudioPlayer)
You will need to install [node.js](https://nodejs.org/en/download/) and then in a cli (ctrl + ` to open in Visual Studio) navigate to the BlazorAudioPlayer and to run "npm install" before running the TimeMage.Server as startup project.This uses [BlazorStrap](https://github.com/chanan/BlazorStrap) for modals.
Uses [NoSleep.js](https://richtr.github.io/NoSleep.js/) to make it so the display will not turn off when running an IntervalSet on a mobile device.
It uses [DistributedCache](https://docs.microsoft.com/en-us/aspnet/core/performance/caching/distributed?view=aspnetcore-5.0) for caching the audio blob on the server and [Blazored.LocalStorage](https://github.com/blazored/LocalStorage) for caching on the client.
Preloaded IntervalSets are from [ATHLEAN-X™](https://www.youtube.com/user/JDCav24)
## [Demo](https://timemage.azurewebsites.net/)