This is a website for determining whether a website is legitimate or not based on its URL features. An artificial neural network is trained from the Web Page Phishing Detection dataset viewable through this link.
The website is created and served by Django. The Neural Network is made with PyTorch and is saved as a .bin file which is loaded by the API whenever predictions are needed.
To set up the project, ensure you have the following prerequisite software on your machine:
- Python 3.11.x
- Pipenv - dependency manager on top of pip and virtualenv.
Execute
pip install pipenvto install on your machine.
Then, to actually set up the project:
- Clone this repository on your machine.
- Open the project directory on your terminal
pipenv installpipenv shellpython manage.py migrate- installs the database migrations to your local copy.python manage.py createsuperuser- create a superuser account of the website.python manage.py loaddata long_bar/fixtures/long_bar/brands_hints_tlds.jsonpython manage.py runserver- check if your setup is running.
To develop and push changes, then follow these steps:
- Head to main branch.
git checkout main - Branch out.
git branch your_branch - Update project dependencies.
pipenv install pipenv shell- Install database migrations.
python manage.py migrate - Implement your changes to the source code.
- Check your changes.
python manage.py runserver - Perform a commit. Make sure you put a summary message.
git commit -m 'message' - Push your branch.
git push origin your_branch - On the Github page of this repo, create a pull request.
Briefly discuss your changes. Ask for it to be merged to
main. Should look like the following:
main <- your_branch