Chapter 5. User Management

Overview of User Management Functions

Overview of User Management Functions
Tag:

To build the user management functions, you need to understand the overall picture of the user management functions. To have a comprehensive understanding, it is good to observe the end-to-end process from two perspectives:

  1. User journey perspective
  2. Developer's perspective

User Journey Perspective

From the user journey perspective, there are three types of journeys.

  • Initial journey: start to use the app by signing up for the service
  • Regular journey: the primary cycle of the user journey – login, a login user journey, and logout.
  • Occasional journey: when required, a user can change their password, or when they forget the password, they can reset their password. Also, the user can update their user profile, name, and email address.

Developer's Perspective

From the developer's perspective, you need to design and build the user management functions to support the user journey. There are five key design points in user management functions from the developer's perspective.

1 User Model

First, you need to design what user data the app will handle. Django provides a built-in user model including the following fields:

  • username
  • first_name
  • last_name
  • email
  • password
  • groups
  • user_permissions
  • is_staff
  • is_active
  • is_superuser
  • last_login
  • date_joined

You can also add more fields, such as a user icon and other user profiles, by creating a custom user model.

2 Basic User Management Functions

When we talk about the user management functions for web applications, the following five essential components are often discussed.

  • Signup: register user data in the user model
  • Login: authenticate the user to allow them to use the service
  • Logout: exit the service
  • Password change: change the user password because of reasons other that the user losing the password (such as security reasons)
  • Password reset: reset the password when the user forgets their password

In web applications, each function is handled on a different page, but the designs of these pages are pretty standardized.

3 Login Status

Once the user logs in to a web application, they can access the pages which are designed for logged-in users. Also, depending on the user profile (authority level), the pages that are accessible to the user can be different. The key parts of user management function development are designing and building the process and pages.

4 User profile update

Usually, web applications have a page to manage user profiles. Unlike the primary user management functions, the user profile page design is more free-form.

5 Social login

The social login is an approach for user authentication via existing online service accounts such as Google, GitHub, or Facebook accounts. By using the social login feature, a web app's user management process can be simplified, and the users can avoid managing their passwords and user profiles. Social login is a common feature in many web applications.

To build the user management functions, you need to understand the overall picture of the user management functions. To have a comprehensive understanding, it is good to observe the end-to-end process from two perspectives:

  1. User journey perspective
  2. Developer's perspective

User Journey Perspective

From the user journey perspective, there are three types of journeys.

  • Initial journey: start to use the app by signing up for the service
  • Regular journey: the primary cycle of the user journey – login, a login user journey, and logout.
  • Occasional journey: when required, a user can change their password, or when they forget the password, they can reset their password. Also, the user can update their user profile, name, and email address.

Developer's Perspective

From the developer's perspective, you need to design and build the user management functions to support the user journey. There are five key design points in user management functions from the developer's perspective.

1 User Model

First, you need to design what user data the app will handle. Django provides a built-in user model including the following fields:

  • username
  • first_name
  • last_name
  • email
  • password
  • groups
  • user_permissions
  • is_staff
  • is_active
  • is_superuser
  • last_login
  • date_joined

You can also add more fields, such as a user icon and other user profiles, by creating a custom user model.

2 Basic User Management Functions

When we talk about the user management functions for web applications, the following five essential components are often discussed.

  • Signup: register user data in the user model
  • Login: authenticate the user to allow them to use the service
  • Logout: exit the service
  • Password change: change the user password because of reasons other that the user losing the password (such as security reasons)
  • Password reset: reset the password when the user forgets their password

In web applications, each function is handled on a different page, but the designs of these pages are pretty standardized.

3 Login Status

Once the user logs in to a web application, they can access the pages which are designed for logged-in users. Also, depending on the user profile (authority level), the pages that are accessible to the user can be different. The key parts of user management function development are designing and building the process and pages.

4 User profile update

Usually, web applications have a page to manage user profiles. Unlike the primary user management functions, the user profile page design is more free-form.

5 Social login

The social login is an approach for user authentication via existing online service accounts such as Google, GitHub, or Facebook accounts. By using the social login feature, a web app's user management process can be simplified, and the users can avoid managing their passwords and user profiles. Social login is a common feature in many web applications.

Tag: