So welcome to Building Modern Web Applications Engo This, of course, should be a great deal of fun
and we're going to cover an awful lot of material.
But first, let me tell you a little bit about myself.
My name is Trevor Solla and I've been working in the software development field for more than 20 years.
I've done work for tiny clients, little projects that are only a thousand dollars or so.
And I've worked on projects for very large clients, including Hewlett-Packard and Sprint and many,
many others all across North America, parts of Europe and the Caribbean.
And I've also been teaching at the university level for more than 20 years.
And I've taught in computer science and I've also taught in English literature.
I wasn't sure what to study in university, so I studied lots and lots of things and I do have a PhD,
but don't hold that against me.
I have been working in the private sector and know how software development should work, and that's
the sort of thing we'll be covering in this course.
And what are we going to be doing?
Well, we're going to learn the fundamentals of the go programming language.
And I'm of the firm belief that the best way to learn how to work in any given programming language
is to build something, not just to learn about loops and if statements and so forth by themselves.
You have to do a little bit of that and we will do a little bit at the beginning of this course.
But you do actually build something of value and that's what we're going to do.
And I'll show you that application in a moment.
So we're going to learn how to build a Web application using best practices in the go programming language.
And we're also going to learn how to deploy this application to a live server and to make sure that
server is secure.
So let's have a look at the application we're going to build.
I'll switch over to my favorite Web browser.
Here is a site for a fictional bed and breakfasts, which I have called the Fort Smith Bed and Breakfast.
And we're going to build a little website consisting of, I don't know, half a dozen pages or so.
We'll do it in HTML5.
We're also going to learn how to use bootstrap.
We'll start with bootstrap for and then much later in the course, we'll upgrade to bootstrap five because
bootstrap five Beta was released while I was putting the course content together.
So you learned the things like how to do a navigation bar with drop down menu items, how to build individual
pages, and also because this is a bed and breakfast site, you should be able to search for and book
a room in this.
So we'll be able to do that.
So we'll be able to look for an arrival date.
I'll choose something and say July to July the 8th search and it tells me two rooms are available.
I want to book the major suite and I can fill this form out and book the reservation.
And we'll also do things like contact pages with an embedded map and things like that.
And authentication will be able to log in.
So pretend that you're the property owner.
I can log in with the username and password that are type that write.
Submit and once they've logged in, I can go to the back end to the dashboard for the property owner
and look at things like how many new reservations do we have?
Let me browse all the reservations.
Let me look at an individual reservation and make changes to it, if necessary, to open and close dates.
So if I don't want to rent the major suite from the 16th to the 18th of January, then I can save those
changes and it's blocked.
Those off will also be sending email.
We'll be doing all the things you have to do with a Web application and this will be done, written
and go.
So here is the finished source code for this application.
Now a word of caution.
I am going to make mistakes as I developed this application and I am not going to edit those mistakes
out of the lectures because when you're programming, you make mistakes.
And there's nothing more frustrating than watching someone teach you how to program.
And they appear to be an absolute genius.
I'm not going to do that because honestly, any software developer spends a good portion of his or her
day fixing either their own mistakes or somebody else's mistakes because we're human.
But when we write our code, we're also going to write, as you'll see right here, for example, tests
for all of our code to make sure that when we write our code that it's going to do exactly what we expect
it to do.
And go has a robust testing environment built right into the language.
So we'll be covering that sort of thing as well.
So there's a fair bit of material to cover.
We have 150 plus lectures in this course and around 30 hours of content.
And I'll be adding to this as necessary when new functionality comes out.
And I'll do my best to keep this course up to date.
And if you encounter something that makes no sense or you discover that I've made a mistake somewhere
in a lecture.
Feel free to contact me and I'll make the necessary revisions to put the content up the way that it
should be.
Because, as I said, we all make mistakes and that includes people recording lectures.
One other note, I am not a videographer and you're not going to find any fancy animations at the beginning,
near the end of each lecture, because I don't think that's of much value.
I'm not trying to market this content.
I'm trying to teach people how to build applications using Goldwing and to do so in a way that makes
absolute sense.
So let's get started.