We will start by designing some of the basic functions of the site that are common to almost any web application; then we will get into more topics specific to our application. I don't call them the basics because they are easier or simpler than the rest. All these features are still first-class citizens. They are basics because they are pretty much common to every application. Again, this will not be a detailed design, so let's talk about the major pieces and sketch some diagrams.
We need a membership system that allows us to manage our users and provide them with secure access to their account.
First, we start with the user registration (signup) process. The flow for registration is shown in Figure 2-1.
Figure 2-1. Figure 2-1
A screen layout will look something like Figure 2-2.
Figure 2-2. Figure 2-2
I sign up to hundreds of sites, and it amazes me that almost all of them force you to confirm your password. This doesn't make any sense to me. Most sites give you a way to reset your password, so what is the point of confirming it? If I forget it or had a typo in it (which is rare anyway), then I just reset my password. Personally, I feel that password confirmation is a waste of time and resources and is not very user-friendly. ...