About this application

Structure

Created in Microsoft Visual Studio Community 2017. Uses ASP.NET Core 2.0 framework.

Goals

To learn more about web development, to have fun.

Change log

Date Issue Resolution Reference
14 April 2020 Inception. I don't know how to do anything. That's why we are here!
15 April 2020 Cannot publish to GoDaddy using Web Deploy Temporary solution: Publish to local folder, zip, upload and unzip.
17 April 2020 Site launches slowly on localhost Stop loading symbols from Microsoft symbol server StackOverflow
17 April 2020 Scaffolding error when creating view from controller Do it all by hand
18 April 2020 Cannot read database on GoDaddy Fixed connection string
27 April 2020 Motorcycle table lacked features Added create, edit, delete
27 April 2020 No access control Added roles, action filters Display roles
Create roles
Display, edit, create, delete roles
27 April 2020 URL is not secure Moved to domain with SSL certificate
28 April 2020 Cannot log in after changing username Correct parameters sent to login method Stack Overflow 21748731
Stack Overflow 33069201
30 April 2020 Edit screen does not need to be full size Experiment with modal view in Motorcycles table Modal basics
Sandeep Singh tutorial
Reusing a template
Loading data into modal
1 May 2020 Make and Model in Motorcycles table have fixed length, padded with white space Change column type from nchar to varchar Microsoft T-SQL documentation
1 May 2020 Did not know what a SASS file is. Read about SASS and installed transpiler W3 Schools Tutorial
Web Compiler
2 May 2020 Motorcycles table was boring Added sort feature for three columns Microsoft
2 May 2020 Mybrary was empty Added placeholder content How to nest layouts
3 May 2020 Need help validating user name format Made Regex test screen Microsoft
5 May 2020 Boring, standard favicon Made a boring, unique favicon. Catalyst.net
6 May 2020 Trouble binding radio buttons to model Rewrite model, mix tag helpers with plain html SO: Model binding
SO: Tag helpers
SO: Model validation
7 May 2020 Mybrary shelf reading showed placeholder content Built front end--table format and Ajax request. API is not functional. Data are made up.
9 May 2020 Mybrary shelf reader API did not work Made it work. error messages are crude. HTML Agility Pack
11 May 2020 Want a separate database for Gutenberg catalog Connect MySQL Project Gutenberg
Pomelo Foundation
16 May 2020 Want to mirror Project Gutenberg. PG recommends rsync My server blocks Cygwin rsync (run as System.Diagnostics.Process). Research .net ftp methods. FluentFTP
21 May 2020 Want to submit data from two forms, one of which contains an array Dig into Ajax C# Corner--Vignesh Mani
SO 13242414
SO 309115
23 May 2020 Impatient with long async processes Add cancel button MS Docs
SO 9332549
25 May 2020 Poor control of authorization Cleaned up authorization filter
25 May 2020 Gutenhuegel names lacked create function Added create name form
28 May 2020 Prescribed burning map was empty Began migration of code
8 June 2020 Want to display model property names in different formats for different contexts (short, medium, long) Make custom attribute & tag helper classes MS Docs on custom attributes
Tag Helper overview
How to make a Tag Helper
.NET Core source for built-in Tag Helper
Use info in attribute
Get attribute method
13 June 2020 Want to login with email or username Added toggle to login form. SO add validation error
21 June 2020 Want to eliminate CORS requests by moving weather calculation to server Make api to get forecast. Performance is poor. HttpClient is 42 times slower than JavaScript. Incremental improvements to speed, more accurate comparison of elapsed time.
30 Aug 2020 Began work on computer reservation page SignalR

Acknowledgments

Thanks to these folks for showing the way