A user is an abstract representation of a user. The most important information, stored in a user, is the username, email, first name and last name. The username is used to authenticate the user. The email is used to send emails to the user. The username must be unique, first name and last name may not be unique. The username is used to identify the user. While the username already provides a way to identify the user, each user also has a unique user id. This user id is used to identify the user in the database. The user id is not visible to the user. The user id is only used by the database. The user id is used to link other objects to the user. For example, a pattern can be linked to a user. This way we can find all patterns created by a user.