Skip to content

Danish811/AuthenEase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

AuthenEase

This Django project implements a user authentication system, including features such as signup, login, logout, password reset, password change, and user profile views. It is designed with improved error handling, secure password reset links, and user feedback messages. For Code review, please check auth_user/views.py

Demo

Login.-.Brave.2024-11-10.19-32-37.mp4

Guide

  • User Signup: Users can create an account.
  • User Login: Existing users can log in.
  • Password Reset: Users can reset their passwords via email using secure, one-time links.
  • Password Change: Logged-in users can change their passwords.
  • Logout: Users can securely log out.
  • Dashboard and Profile: Simple profile and dashboard views are accessible to logged-in users.

Advanced features

  • Configure EMAIL_BACKEND in settings.py for password reset; Gmail example provided.
  • update_session_auth_hash keeps users logged in after password change for convenience.
  • Customizable forms (SignupForm, LoginForm, ForgotPasswordForm) allow additional fields.
  • try-except blocks prevent errors in critical areas like password reset.

Technologies Used

  • Django: Django's built-in authentication and form libraries.
  • Python: Backend logic and form validation.
  • HTML & CSS: Templates for front-end rendering.
  • JavaScript (optional): For frontend validation and interactivity.

Setup Instructions

  1. Clone the Repository

    git clone https://github.com/your_username/your_project_name.git
    cd your_project_name
  2. Set Up a Virtual Environment

    python3 -m venv venv
    source venv/bin/activate  # On Windows use `venv\Scripts\activate`
  3. Install Dependencies

    pip install -r requirements.txt
  4. Apply Migrations

    python manage.py migrate
  5. Create a Superuser (Optional)

    python manage.py createsuperuser
  6. Run the Development Server

    python manage.py runserver
  7. Visit the Application Open your web browser and go to http://127.0.0.1:8000/.

Folder Structure

your_project_name/
├── user_auth/                 # Django app for user authentication
│   ├── forms.py               # Forms for signup, login, forgot password
│   ├── views.py               # Logic for signup, login, password reset, etc.
│   ├── templates/             # HTML templates for each view
│   │   └── user_auth/
│   │       ├── signup.html
│   │       ├── login.html
│   │       ├── forgot_password.html
│   │       ├── change_password.html
│   │       ├── dashboard.html
│   │       └── profile.html
├── manage.py
├── README.md
└── requirements.txt           # Project dependencies

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published