millad90s / webDict

This is just a learning purpose project.
0 stars 0 forks source link

Implement User Signup, Sign-in, and Admin Approval Workflow #15

Open millad90s opened 1 year ago

millad90s commented 1 year ago

To provide user registration, authentication, and admin approval functionality in our project, this issue focuses on implementing the necessary features for user signup, sign-in, and sign-out. Additionally, each user signup should require admin approval before the account becomes active.

Goals:

Develop user signup functionality that allows users to create an account with required information. Implement email verification during the signup process to ensure the validity of the provided email address. Store user account details securely in the database, including encrypted passwords. Design user sign-in functionality with appropriate validation and error handling. Enable user sign-out functionality to allow users to securely log out of their accounts. Implement an admin approval workflow where newly registered users require admin approval before their accounts become active. Integrate the admin approval process within the Admin Panel to allow easy review and activation of user accounts. Notify users via email when their account is approved or rejected by the admin. Ensure appropriate access control and authorization to restrict certain actions to authenticated and approved users. Write tests to validate the correctness of the implemented functionality.

Additional Details:

Consider using Django's built-in authentication framework for user management and authentication. Determine the required user fields and registration information based on project requirements. Utilize Django's email sending capabilities to send verification and approval notifications. Implement proper error handling and validation during signup and sign-in processes. Review and update the project's access control mechanisms to reflect the user approval workflow.

Acceptance Criteria:

User signup functionality is implemented, allowing users to create an account and provide necessary information. Email verification is integrated into the signup process to ensure the validity of provided email addresses. User sign-in functionality is developed with appropriate validation and error handling. User sign-out functionality allows users to securely log out of their accounts. Admin approval workflow is implemented, requiring admin approval before user accounts become active. The Admin Panel allows admins to review and activate or reject user accounts. Users receive email notifications upon account approval or rejection. Access control mechanisms are properly updated to reflect the user approval workflow. Tests are written and pass successfully to validate the implemented functionality.

┆Issue is synchronized with this Trello card by Unito