Sprint 4 - ryanm292002/CAPSTONE GitHub Wiki

Deliverable Statement for the Sprint: A statement or two that defines the purpose of your Sprint

At the end of sprint 3, there is not a ton left. There's a goal of getting the application hosted on the internet whether its through pythonanywhere or some alternative method. Front end refinement is necessary as it should look nicer than it already does, improvement of the menu bar, develop a logo for the site and make the results show up cleaner. The tool should be online and ready for the end of the semester, should be heavily tested to find any odd errors with the individual api lookups.

"Objectives" A bullet list of the key objectives for the Sprint

  • Create a logo
  • Refine menu bar
  • Refine results.html
  • Create a footer
  • add mx record lookup
  • Fix googlesafebrowsing api lookup
  • Get the webapp hosted publicly

Refine menu bar

Specifically I want to fix the links to each of the pages, having just basic hyper links wont cut it if the tool is to compete. There should be some sort of indicator of what page the user is currently on in the menu buttons and having a hover effect will add additional styling to the buttons. Another item that should be done is having a chunky rectangle as a menu bar dosnt look the greatest so adding border radius to css will help the menu bar aswell as change the page buttons aswell.

References: https://www.w3schools.com/css/css_navbar.asp https://www.w3schools.com/cssref/css3_pr_border-radius.php https://www.w3schools.com/css/css3_borders.asp https://www.w3schools.com/cssref/sel_hover.php https://developer.mozilla.org/en-US/docs/Web/CSS/:hover

Add mx record tool

  • Something I learned from my internship is that mx record lookups can just be done in the command line. (nslookup -type=mx domainhere.com)

  • Using the subprocess package in python its pretty easy for it to run basic cmd commands.

References: https://www.datacamp.com/tutorial/python-subprocess https://www.geeksforgeeks.org/python-subprocess-module/ https://gist.github.com/gmic/97f991899a6d2544f084

Function: image

Simple as calling the function within the overlaying index function which gets called to when user inputs a domain into url bar (domain variable is set from the domain parse function) image

Create a logo

This was one of the easier tasks but for a cybertool seems like a good addition, this also greatly helps the webapp in the sense having a logo can take up alot of blank space that might look pretty stale/boring to the user. The logo itself was generated with AI, but it wasnt as easy as moving it directly to the web app. Using various software linked below I was able to adjust the background and change some of the colors to match the style of the web app.

References: https://copilot.microsoft.com/ https://www.remove.bg/ https://www.gimp.org/

Logo image

Get the webapp hosted publicly

At the end of sprint 3 there were alot of problems I was running to in regards to python anywhere. Had to utilize the error logs provided python anywhere to realize the packages/modules were causing the issues because they wernt installed, pretty much needed to create a virtual environment that connects to the web app.

Once the virtual environment is setup through the pythonanywhere bash console and its linked to the webapp you can run the pip commands to install all the packages necessary for the web app to run. From there the web app had no errors in regards to it being hosted. The file structure of python anywhere for flask was setup perfectly so I could upload the app itself to the parent directory (mysite) and then there were folders for templates (html files) and static files (images and css files).

Virtual ENV: image

References: https://www.youtube.com/watch?v=6p7GBfHgJq8 https://www.youtube.com/watch?v=Ad4usj_cTmE https://help.pythonanywhere.com/pages/Flask/

End Result of Sprint 4: I am very pleased with where my project is at, there could be more apis added but that can be done pretty easily as time goes on, the 4 tools integrated now provide a decent insight into domains/urls.

image