This project is created for a job interview. The project description is:
Create an authentication system where if a user fails to enter password 3 times, it bans the user login attempts for 1 hour .
Also same rule applies if the user wants to recover account with SMS verification.
Backend is developed with django and python. Django default authentication system is used for controlling the login and signup process.
Limiting login attempts is done with the help of django-axes app. The combination of username and IP address is used for defining a user attempt.
ForntEnd codes ( html and css) are extracted from another project ( an on-line course on Udemy )
Since this is not a real world applicable project, the default database - sqlite3 - is used and the project is deployed in http://bornamir.pythonanywhere.com .
These instructions will get you a copy of the project up and running on your local machine for development.
There should be python 3.7 installed on the machine.
clone the project
git clone https://github.com/bornamir/ThreeAttemptLogin.git
create and start a a virtual environment
projects/ThreeAttemptsLogin $ virtualenv venv
projects/ThreeAttemptsLogin $ source venv/bin/activate
Install the project dependencies:
pip install -r requirements.txt
then run
python manage.py migrate
to start the development server
python manage.py runserver
and open localhost:8000 on your browser to view the app.
- Django 2.2 - The web framework
- django-axes - Limiting login attempts
- Python 3.7
- Borna Mir Arabshahi - github
This project is licensed under the MIT License - see the LICENSE.md file for details