E. Commerce recommendation system based on graph database
Main purpose of my thesis was to apply graph database with e-commerce recommendation system while optimising functionality and performance. I decided to build e-commerce website from scratch, then created recommendation algorithms that work with data from graph database and in the end tried to make everything as smooth as possible.

At first I made research about recommendation systems and their use in e-commerce. I tried to find sources that use recommendation systems with graph based databases. Later after my research sketching of plans and diagrams took place. Another key part was functional and non-functional requirements. Part that took the longest was programing. Project code had to make sense and satisfy requirements and diagrams. Project testing was also very important. To make project aim clear, five main tasks were created:
1. Perform an overview of e-commerce recommendation systems, their functionalities, and algorithms.
2. Conduct an analysis of graph database management systems.
3. Formulate functional and non-functional requirements for the e-commerce recommendation system.
4. Carry out the design and programming of the e-commerce recommendation system.
5. Perform testing of the developed system.
Programming was mostly done in Java. Many Java extensions and libraries like Bootstrap, Thymeleaf, Maven, were used to achieve project goals. Algorithms were written in Java. HTML and CSS were used to create graphical user interface. Graph database technology that I used for my project was called Neo4j. Applied community edition version that lets host local database. Java programming was made easy by using IntelliJ IDEA IDE.
Project user experience is not that much unlike from any other e-commerce web site. Product cart, rating, recommendation, login and register functionalities fully realized.
In the end I made sure that project code was optimal, requirements were met and testing was done