Skip to content

A smooth and pretty price monitoring web-application built using Java programming language, Spring Boot, and MySQL database.

Notifications You must be signed in to change notification settings

abakumova/price-observer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Price Observer logo

Price Observer

Introduction

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.

User Interface

Price Observer has a very smooth and useful User Interface. The main page of the application looks in a next way:

Price Observer main page

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.

Price Observer smartphones page

The same page for the "Smartwatch" category.

Price Observer smartwatches page

When you click on the product you like, the page with a detailed product description is opened.

Price Observer product view page

Also, I need to show you how nice our Sign-in/Sign-Up page looks like.

Price Observer Sign-In/Sign-up page

Getting started

Prerequisites

To run the application you need such things installed on your machine:

  • Java 11
  • Maven

Build and run

  1. Clone the project to your machine using git;
  2. Open the root directory of the project;
  3. Open a terminal and run the next command cd webapp. You will be moved to the webapp module directory;
  4. Run the Spring Boot Application by the mvn spring-boot:run command;
  5. Wait till the Maven builds and runs the project;
  6. Open http://localhost:8080 to verify the application running.

That's it.

Documentation

Use case diagram

Use Case Diagram

Project structure

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.

Database structure

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: Price Observer database schema visualisation

Database filling

To fill the database with product information the application uses store sites parsing. To parse sites was used Java library jsoup

Authors

🦉 Viktoriia Abakumova

🦝 Evgeniy Kiprenko