WebCrawler is a Java-based project developed as part of the Clean Code course at AAU Klagenfurt.
- Allows concurrent crawling of selected websites up to a chosen depth
- The starting website URL and crawling depth are entered by a user via console
- Exceptions, which occur during execution, are written to a log file "exceptions.log" for consistency
- Details of crawled websites are stored in a report "Web_Crawler_Report.md".
- JDK 21 (ensure it is set as your SDK)
- Gradle (uses JVM toolchain 21)
- JUnit 5
- Mockito 5
The project uses the following libraries:
jsoup-org.jsoup:jsoup:1.15.4(for HTML parsing)
org.junit.jupiter:junit-jupiter-api:5.10.2(for unit testing)org.junit.jupiter:junit-jupiter-engine:5.10.2(test runtime engine)org.mockito:mockito-core:5.18.0(for mocking in tests)
./gradlew build
./gradlew test
This project is open-source and free to use.