*The backend of the search engine with a small thymeleaf ui.
You could start the backend by leveraging the command:
mvn clean install spring-boot:run
- For an arbitrary operating system will this command compile the project, execute all unit tests and starting the jar after that (with the example-index).
Then you could point your browser to localhost:8080/api/v1/search
to see the debug user interface of the search engine.
This debug user interface has all functionalities of the production ui, but it is rendered in a more rudimentary fashion using a small thymeleaf template.
If you use this setup solely log-messages are not published to kafka, but to the console.
If you want to work on the project you find some important tools that are used for the development here. You dont need a deep understanding of them (basically you should be fine if you have a rough idea what they do).
- Maven as build tool
- Spring Boot
- Dependency injection
- Embedded Tomcat
- Spring MVC
- Web-Services
- Views with Thymeleaf
- Spring HATEOAS to create links between services
- Lucene to index and search the documents
- Project Lombok to reduce boilerplate code
- Aspect Oriented Programming