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/
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.
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.
- Users Apps
- Users Api
AlreadyFollowingUserAPIExceptionNotFollowingUserAPIExceptionAccessRefreshTokensDTOSerializerAuthorCommentSerializerCategorySerializerConfirmEmailSerializerConfirmPasswordSerializerCreateTokenDocsBodySerializerCreateTokenDocsResponseSerializerCustomTokenObtainPairSerializerCustomTokenRefreshSerializerExtendedUserSerializerFollowingAndFollowersUserSerializerFollowingUserSerializerProfileSerializerRefreshTokenDocsBodySerializerRefreshTokenDocsResponseSerializerResendUserActivationCodeSerializerSenderNotificationSerializerUserActivationSerializerUserChangePasswordSerializerUserResetPasswordUserSerializerFollowersAPIViewSetInterestsListAPIViewTokenViewSetUsersAuthorizedViewSetUsersUnauthorizedViewSetUserElasticsearchFilter
- Users Services
- Users Tasks
- Users Tests
ActivationCodeFactoryCategoryFactoryProfileFactoryUserFactoryExportDataTestsFollowTestCaseUserSignUpTestsFollowersServiceTestCaseTestUnauthorizedUserServiceTestUsersServiceUserURLsTestCaseTestAuthorCommentSerializerTestInterestsSerializerTestSenderNotificationSerializerTestUserSerializer