Users

Introduction

This document outlines the functionality of User Profiles and Privacy in the project, including the models, views, and features related to user registration, profile management, and privacy settings.

User Profiles

User profiles are an integral part of the application, allowing users to create and manage their personal information and preferences.

Profile Fields

  • Full Name: The user’s full name.

  • Email Address: The user’s email, used as a login identifier.

    Note

    When updating the email address via the API endpoint (api/users/ PATCH), a request for email change is generated. Additionally, an email containing a link to the email activation page is sent to the user’s new email address to verify and complete the change.

  • Password: User password, meeting specified security requirements.

  • Username: Users can choose to use pseudonyms for privacy.

  • Avatar: Users can upload a profile photo or choose an avatar.

  • Date of Birth: User’s date of birth, can be minimum 2011 year and maximum 1900 year

Profile Photo and Avatar

  • Users can upload a profile photo or choose an avatar.

  • The uploaded photo can be changed or deleted by the user.

Personal Information

  • Users provide minimal personal information during sign-up.

  • Mobile phone number is used for registration.

  • Users can easily download their data and delete their accounts.

Activation Codes

Activation codes are utilized to maintain security and user verification during password or email changes.

Activation Code Types

  • Password: For password change/reset.

  • Email: For email change.

Views and Endpoints

The project includes various views and endpoints to manage user profiles, privacy settings, and authentication.

Interests List

  • Displays a list of interests available for users.

  • Endpoint: /api/interests/

Unauthorized Users Views

Sign Up

  • Endpoint: /api/signup/

  • Allows users to sign up with provided details, profile, and interests.

Account Activation

  • Endpoint: /api/activate/{uid}/{token}/

  • Activates a user’s account using UID and token.

Password Reset

  • Endpoint: /api/reset-password/

  • Allows users to request a password reset link via email.

Password Confirmation

  • Endpoint: /api/confirm-password/

  • Confirms a password change request.

Email Confirmation

  • Endpoint: /api/confirm_email/{uid}/{token}/

  • Confirms an email change request.

Authorized Users Views

User Profile Management

  • Endpoint: /api/users/{user_id}/

  • Allows authorized users to manage their profiles.

Password Change

  • Endpoint: /api/password_change/

  • Allows users to change their password.

Conclusion

The User Profiles and Privacy functionality provides users with a comprehensive profile management experience while ensuring data security and privacy. The available views and endpoints empower users to control their accounts effectively.