What I wanted is a simple application ( Web, Mobile, Desktop) that can list , alphabetically, the .NET Core keywords. What is the purpose?
- For interviews – suppose you want to test the people knowledge in C#. You start the application( again: Desktop or Web or Mobile) and let the candidate choose a letter. Then you see the keywords for this letter and ask the candidate to explain some of the keywords
- For remembering features: there are so many features in .NET language ( https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history ) that for a programmer it is good to know – or to revisit – the features that are in the language.
- For contest within programmers – like the interviews, but for the passionate programmers that want to have an easy way to decide the one with the best memory
- Maybe other uses that I do not know ? Please share in comments
Now with the realization: What I want is the simple application, that has inside the database with keywords and links and any others. From this database, the code sources for the data will be generated and the application(s) will be generated. Also, data should be publicly available to profit from the crowd power –anyone that want to add something can add.
Step1 : Public repository for Sources: Obviously, github is the easy choice. See https://github.com/ignatandrei/netCoreAlphabet
Step 2: Database: Because sources should be generated from database and the database should be publicly available to modify, I have choose json format and the location github: https://github.com/ignatandrei/netCoreAlphabet/blob/master/primaryData/netCoreAlphabet.json ( feel free to contribute)
Step3: Web Application and deploy : To generate the Web Application I have choose Angular . AOT angular will make an index.html and js sites to work with.
That with Cordova will ensure the Android.
That with UWP js (https://docs.microsoft.com/en-us/windows/uwp/get-started/create-a-hello-world-app-js-uwp ) will ensure deployment to Windows Store.
That with Electron will ensure adding to Windows/Linux/Mac
Step 4: Transforming from database to sources: Because it is a simple Web Application the obvious choice for language of sources is TypeScript. Transforming from JSON to TypeScript is a Stankins duty . More, we want also to transform to markdown to have a nice readme.md in the GitHub.
stankins.console execute -o ReceiveRestFromFile -a primaryData/netCoreAlphabet.json -o SenderToTypeScript -a “” -o TransformerConcatenateOutputString -a a.ts -o SenderOutputToFolder -a $(Build.ArtifactStagingDirectory)/data/ -a false
stankins.console execute -o ReceiveRestFromFile -a primaryData/netCoreAlphabet.json -o SenderToRazorFromFile -a primaryData/markdown.txt -o TransformerConcatenateOutputString -a cards.md -o SenderOutputToFolder -a $(Build.ArtifactStagingDirectory)/data/ -a false
Step 6: Compile Angular to AOT
Step 7: Making application: AOT to GitHub pages (https://github.com/angular-schule/angular-cli-ghpages )Cordova, UWP and Electron => Making WebApp, UWP and Android.
And to complete all those, it will be put in an AzureDevops pipeline https://github.com/ignatandrei/netCoreAlphabet/blob/master/azure-pipelines.yml
You can see the result on Android : https://play.google.com/store/apps/details?id=com.github.ignatandrei.netcorealphabet&hl=en , WebSite: https://ignatandrei.github.io/netCoreAlphabet
Also, if you want , please contribute by making a PR by editing https://github.com/ignatandrei/netCoreAlphabet/blob/master/primaryData/netCoreAlphabet.json or by contributing to enchance the application by solving https://github.com/ignatandrei/netCoreAlphabet/issues