For this project, you will extend your previous project to create a fully functional search engine. This is the last project for this course and is split into two main components:
Project 4a, Web Crawler: a multithreaded web crawler using a work queue to build the index from a seed URL. This will be graded like any other project functionality, via JUnit tests and Github Actions. You fully must pass the functionality of project 3 to be eligible to earn credit for this project.
Project 4b, Search Engine: a search engine web interface using embedded Jetty and servlets to search that index. This will be graded via code review during finals week only. You fully must pass the web crawler functionality to be eligible to earn credit for this project.
See each individual project writeup for more details.