Your life is now a parsable JSON and object structure that can be used in a variaty of use cases. MyLife.NET is an experiment to use as many of .NETs ecosystem features to provi´de an overview of your digital life. The deployed
Blazor.Wasm
can be found that the related GitHub Page of this repository.
Project | Action |
---|---|
MyLife |
|
MyLife.Core |
|
MyLife.Blazor.Wasm |
The solution contains a variaty of projects that are all based on the core context of the app. Creating, exporting and using your life to a vast amount of output possibilities.
Project | Description |
---|---|
MyLife |
Console application to create a JSON file |
MyLife.Core |
Provides core functionality as well as the models describing the JSON |
MyLife.Blazor.Wasm |
Blazor Wasm site that renders a website according to Core's data |
MyLife.Maui |
WIP project to render Core's data as a mobile app |
MyLife.Azure.Functions |
Experimental Evaluating how Functions and how MyLife would benefit from it |
MyLife.Blazor.Static |
Planned project to render Core's data as fully static website |
A simple terminal interface based on just Console.Write()
and Console.Read()
.
It can be used in an interactive way to update files on user's desktop and / or the related wwwroot
folder or in a silent mode via CI runs to update just the wwwroot/
data.
cd path-to-code/MyLife/
# Interactive
dotnet run
# Silent
dotnet run silent
# Optional git update
git commit -am "Updated content"
git push
The website is based on a css-drop-in style with minor custom style class added.
Caution The project is still alpha and work in progress.
The CLI tool to create the JSON files are runable through Visual Studio or in the Terminal using:
cd path-to-repo
cd MyLife
dotnet run
As feature of being a static website, the current demo version of this repository is hosted on GitHub Pages at https://tscholze.github.io/dotnet-mylife/ or as an Azure Static Web App using the Free Tier somewhere in the cloud.
cd path-to-repo
cd MyLife.Blazor.Wasm
dotnet run
Running the target locally will present you a Terminal window with all available endpoints that are reachable using your Browser. For Azure deployment, please use the Visual Studio or Azure Portal publish feature on your own.
cd path-to-repo
cd MyLife.Azure.Functions
dotnet run
In today's digital age, managing our personal information efficiently has become more important than ever. One interesting approach is to represent our life as a JSON file. This allows us to organize and store various aspects of our life in a structured format, making it easier to manage and analyze.
Having a default but defined datset structure, you can add consumer as you go. This is one part of the project. Having a place to experiment with new .NET technologies with a defined usecase to work with.
This is an educational project. Errors are made. I maybe misunderstood or misused some technologies. This is all fine because we are all learners and tinkeres. It would be a shame not to share it!
Due to web-wide security policies the Blazor WASM project / website cannot connect to foreign servers besides of it self. This is no problem in reading JSON files from itself but it is an issue of you want to read for example a YouTube Channel RSS feed.
If you try this, You will see that the httpClient.GetAsync()
call never finishes and the error log in the browser shows something like CORS violation
. To fix this, all the content the site needs must be provides by its own server.
- Dr. Windows: Entwicklertagebuch: MyLife.NET #1 – Wieso, weshalb, warum?
- Dr. Windows: Entwicklertagebuch: MyLife.NET #2 – Der Kern des Ganzen
- Dr. Windows: Entwicklertagebuch: MyLife.NET #3 - Was'n Blazor WASM?
- Dr. Windows: Entwicklertagebuch: MyLife.NET #4 - Azure wir kommen
- Dr. Windows: Entwicklertagebuch: MyLife.NET #5 - Noch mehr function-nierendes Azure
- Dr. Windows: Entwicklertagebuch: MyLife.NET #6 - Das Leben wird mobil dank .NET MAUI
production
is only updated via merges frommain
. No pushes or merges other branches allowedmain
gets its update from feature branches. Direct pushes are allowed but not promotedfeature
gets its update from developer's pushes or back merges frommain
but never fromproduction
It would be awesome if I could motivate you to try out some of the technologies the solution covers, but please do not take any of the code covering this repository as "the best way to to it".
I'm neither a web developer nor a skilled .NET engineer, yet. There are many awesome folks out there that are more suitable to be used as "learning while copying".
This app is purely build for educational usage! All features have room for improvements or could be done more elegant. This app was and will be never meant to run in production-like environments. Learning is fun!
Just me, Tobi. You are welcomed to contribute pull requests that are helping me getting more familar with .NET, web development and the topic in general.
- Florian for motivating me to re-evaluate the .NET ecosystem
- Gerald for providing awesome .NET MAUI content and helping beginners to get started with
- Jeffrey (csharpfritz) for his .NET Blazor Twitch streams
This project is licensed under the MIT License - see the LICENSE file for details. Dependencies or assets maybe licensed differently.