Price Observer is a price monitoring web-application. The application is built using Java programming language, Spring Boot, and MySQL database.
The application itself is a pretty and clear tool to monitor the price of popular products. In the current version the
application support only the products made by Apple company.
Price Observer supports Sign-In/Sign-Up possibility implemented with Spring Security. Authorized users can add products
they like into the wishlist for more comfortable price monitoring. The full list of the application features you may see
below:
- Review existing product categories;
- Search product by name or model;
- Review a product description and its price history;
- Create an account in the application;
- Sign In using your account and add products to the wishlist;
- Change account information.
Price Observer has a very smooth and useful User Interface. The main page of the application looks in a next way:
You may see five main product categories on the main page. When you click on any of them you will be redirected to this category page. Here is the "Smartphone" category page.
The same page for the "Smartwatch" category.
When you click on the product you like, the page with a detailed product description is opened.
Also, I need to show you how nice our Sign-in/Sign-Up page looks like.
To run the application you need such things installed on your machine:
- Java 11
- Maven
- Clone the project to your machine using git;
- Open the root directory of the project;
- Open a terminal and run the next command
cd webapp
. You will be moved to the webapp module directory; - Run the Spring Boot Application by the
mvn spring-boot:run
command; - Wait till the Maven builds and runs the project;
- Open http://localhost:8080 to verify the application running.
That's it.
The project represents Maven multi-module project. It has four main modules:
- auto module, which contains auto-tests;
- core module, which contains business logic and logic to interact with a database;
- parser module, which contains logic to parse store sites;
- webapp module, which contains web-application layer logic (controllers, etc).
To run the application from your IDE use Application class located in webapp module.
The application uses MySQL database. For the database creation is used main.sql file. Other important
database scripts may be found in this folder.
The database schema visualization is provided below:
To fill the database with product information the application uses store sites parsing. To parse sites was used Java library jsoup
🦉 Viktoriia Abakumova
🦝 Evgeniy Kiprenko
- Email: zhenyakiprenko@gmail.com