This question may be broad, my end goal is to be able to set up a website with some arbitrary database service. But right now I am trying to learn how that process works on my own computer and setup a development environment that can work for that goal. Web development seems hard to learn by myself as it involves so many parts, right now my understanding of the process is this:
I have client program C getting an input from the user, say username and password. Then it feeds that password to my server program S, who then communicates with a Database to retrieve user profile data D, and feeds that data back to the client program C.
I have done a lot of research, but the process still seems rather foggy to me. And my biggest doubt is in regards to the server part. It seems that there are two seperate functionality groups:
- The server S1 which contains concise user data D mapped to its username and password
- The Server S2 which deploys the client C onto a user computer, accepts user input, and queries S1 to retrieve, and process the user data D and feeds it back to the user.
Is my understanding correct with regards to the server(s)? Currently, I want to set up these servers on my local computer as a developing environment and connect to it as a client to test my program. I want to set up the server-side of my website (S1) with GoLang, and the database (S2) with Microsoft SQL Server Express, all in Ubuntu 20.10. Does that sound like a viable way to go about this?
Side note: at this point I realize this question is rather broad and messy, but that's just my experience trying to learn this long process by myself for the past few days. Even just a little bits and pieces of help would be deeply appreciated, thanks!