This project is a Django application that provides various authentication features, including user login, signup, Google authentication, password reset via email, password change, and more.
- User Registration: Allow users to create new accounts by providing their email address and password.
- User Login: Enable users to log in to their accounts using their email address and password.
- Google Authentication: Implement Google OAuth to allow users to log in using their Google accounts.
- Password Reset: Provide a mechanism for users to reset their passwords if they forget them. Users will receive an email with a password reset link.
- Password Change: Allow users to change their passwords after logging in.
- Account Management: Provide options for users to update their account information, such as their email address and password.
- Email Verification: Users can verify their email addresses after registration.
-
Clone the repository:
git clone https://github.com/m-ibrahim-khalil/django-auth.git
- Change Project Directory
- Rename .env.sample to .env
- create vertual environment and activate it:
python -m venv env source env/bin/activate
-
Install the project dependencies:
pip install -r requirements.txt
-
Set up the database:
python manage.py migrate
-
Start the development server:
python manage.py runserver
-
Open your web browser and visit
http://localhost:8000
to access the application.
- Sign up for a new account by providing your email address and password.
- Log in to your account using your credentials or using your Google account.
- If you forget your password, click on the "Forgot Password" link and follow the instructions to reset it.
- Change your password by navigating to the account settings page.
- Explore and use other features of the application as needed.
Contributions are welcome! If you would like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them.
- Push your changes to your forked repository.
- Submit a pull request to the main repository.
This project is licensed under the MIT License.