Analyzes URLs to determine whether they are phishing attempts, while offering a clean and simple UI. The app supports full CRUD operations: creating new URL checks, viewing paginated results, updating feedback, deleting entries, and re-analyzing URLs.
The app allows a user to:
- Submit a URL for analysis;
- Send the URL to a server hosting an intelligent phishing detection model;
- Analyze the URL and store the results for future use (training and fine-tuning);
- Receive a clear verdict on whether the URL is safe or a phishing attempt;
- Browse results from previous analyses;
- Update feedback on an analyzed URL and re-analyze it if needed;
- See a pie chart that shows the report between phishing and legitimate URLs.
- Angular
- PrimeNG
- Django
- Django REST Framework
- SQLite
- PyTorch
- PyTorch Lightning
- python-dotenv
- ChatGPT
-
The LLM was pointing to a path that didn't exist in my Angular Project (
src/app/app.module.ts) because I defined the component to be standalone. This makes to each component handles its dependencies alone. So, what I did? I explained to him in greater detail that my components were as he defined them, but created usingng g c <nume> --standalone. After this explanation, he understood and we moved on; -
Another thing was that it generated some CSS code that had classes/ids that weren't defined in HTML. This was a simple fix, seeing as I only repaired the references between the files.
cd Backend
python manage.py makemigrations
python manage.py migrate
python manage.py runserver- The backend runs at
http://localhost:8000and serves the API endpoints. - It is intended to be accessed only through the frontend running on
http://localhost:4200. - All interactions with the URL analysis model, feedback, deletion, and re-analyze features go through the frontend UI.
cd Frontend
ng serveIt will run on browser at localhost:4200.